Выберите наибольшее число ниже заданного числа, используя LINQ to Objects? - PullRequest
0 голосов
/ 11 января 2011

У меня есть простая коллекция чисел:

Dim listNumbers As List(Of Byte) = New List(Of Byte)({1, 2, 3, 4, 5})

Использование LINQ как выбрать наибольшее число в этом списке, которое меньше заданного числа?

Например, если задано число = 3, наибольшее число равно 2!

Спасибо

1 Ответ

4 голосов
/ 11 января 2011

Вот VB.NET:

Dim listNumbers As List(Of Byte) = New List(Of Byte)({1, 2, 3, 4, 5})
Dim max As Integer = listNumbers.Where(Function(n As Integer) n < 3).Max()
Console.WriteLine(max)

Эффективно то, что мы делаем, это находим список кандидатов (те числа, которые меньше трех) и затем отбираем максимум кандидатов.

Если вам нужен C #:

var listNumbers = new List<byte> { 1, 2, 3, 4, 5 };
int max = listNumbers.Where(n => n < 3).Max();
Console.WriteLine(max);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...