Страницы

Поиск по вопросам

вторник, 30 октября 2018 г.

LINQ: поиск минимума

Есть массив объектов класса A class A { pubic double value; } Как с помощью LINQ найти элемент с минимальным значением value, а не само это значение, как произошло бы в случае arr.Min(a => a.value)?


Ответ

Не встречал конструкции, которая выполняла бы это действие за один Linq-запрос. А за два сделать довольно просто: double min = arr.Min(a => a.value); var result = arr.FirstOrDefault(a => a.Value == min); 2 вариант: Реализовать в Вашем классе интерфейс IComparable class A : IComparable { public double value;
public int CompareTo(A other) { return value.CompareTo(other.value); } } Тогда метод Min() можно вызвать так, и он вернёт объект класса A с минимальным значением поля value var result = arr.Min();

Комментариев нет:

Отправить комментарий