Answer the question
In order to leave comments, you need to log in
How to convert to linq?
Tell me, is it possible to somehow concisely convert the GetIntValue method into a linq command?
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;
}
Answer the question
In order to leave comments, you need to log in
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;
});
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question