В одной из предыдущих статей мы рассмотрели, как найти максимальный элемент массива, а сегодня хочу показать, как найти минимальный элемент массива в языке c#
Нахождение минимального элемента
Для нахождения минимального элемента массива мы будем использовать метод Min, как один из наиболее распространённых способов для решения данной задачи.
Одномерный массив
В первом примере рассмотрим, как получить минимальное значение в одномерном массиве.
Код:
int [] numbers = {90, 3, 56, 1, 9000, 78};
int minValue = numbers.Min();
//Результат: 1
Многомерный массив, в отличие от одномерного массива, не позволяет нам напрямую обратиться к методу Min. Но, это можно легко исправить, если воспользоваться методом Cast<T>, с помощью которого можно преобразовать многомерный массив в обобщенную коллекцию типа IEnumerable<T>. После чего нам станет доступен метод Min, и мы сможем найти минимальное значение массива, например:
Код:
int [,] numbers = {{200, 30, 6, 9, 28, 178},{2, 39, 61, 69, 8, 56}};
IEnumerable<int> colNumbs = numbers.Cast<int>();
int minValue = colNumbs.Min();
//Результат: 2
Код:
int minValue = numbers.Cast<int>().Min();
Чтобы найти минимальное значение в Jagged массиве, нужно также как и в предыдущем примере, преобразовать содержимое массива в объект типа
IEnumerable<T>
, но только выполнить эту операцию нужно не с помощью метода Cast, а например, с помощью метода SelectMany
:
Код:
int [][] numbers = { new int [] {122,13,5,7,9},
new int [] {3,4,6,90},
new int [] {11,22,77,55}};
int minValue = numbers.SelectMany(x => x).Min();
//Результат: 3