Есть массив объектов класса 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
public int CompareTo(A other)
{
return value.CompareTo(other.value);
}
}
Тогда метод Min() можно вызвать так, и он вернёт объект класса A с минимальным значением поля value
var result = arr.Min();
Комментариев нет:
Отправить комментарий