Можно ли как-нибудь взаимодействовать с двухмерными и более... массивами с помощью LINQ или Array?

Например, я пробовал вот так (но естественно ничего не получилось): можно ли найти сумму всех четных элементов двумерного массива

int[,] a = new int[4, 8];
        Random ran = new Random();
//...    
Array.FindAll(a, i =>i  % 2 == 0).Sum(); //или
    a.Where(i => i % 2 == 0).Sum();

Ответы (1 шт):

Автор решения: Alex

Можно сделать, преобразовав многомерный массив в одномерную коллекцию:

int[,] a = new int[4, 8];
Random ran = new Random();
//...   
// Преобразуем многомерный массив в одномерный и находим сумму четных элементов
int evenSum = a.Cast<int>().Where(i => i % 2 == 0).Sum();
Console.WriteLine($"Сумма всех четных элементов: {evenSum}");

Еще можно взаимодействовать и так:

int[][] jaggedArray = {
    new[] { 1, 2, 3 },
    new[] { 4, 5 },
    new[] { 6, 7, 8, 9 }
};

// Найдем все элементы больше 5
var filteredNumbers = jaggedArray.SelectMany(row => row).Where(x => x > 5);

Console.WriteLine(string.Join(", ", filteredNumbers));
→ Ссылка