public class ValueClass
{
public int Value;
}
public int[,] GetIntValue(ValueClass[,] values)
{
// можно весь метод заменить на 1 linq команду?
int[,] valuesInt = new int[2, 2];
valuesInt[0, 0] = values[0, 0].Value;
valuesInt[0, 1] = values[0, 1].Value;
valuesInt[1, 0] = values[1, 0].Value;
valuesInt[0, 1] = values[0, 1].Value;
return valuesInt;
}
public int[,] GetIntValue(ValueClass[,] values)
{
return values.Cast<ValueClass>()
.Select((x, i) => new { x?.Value, i })
.Aggregate(
new int[values.GetLength(0), values.GetLength(1)],
(accum, item) =>
{
accum[item.i / values.GetLength(1), item.i % values.GetLength(1)] = item.Value.GetValueOrDefault();
return accum;
});
}