Вот 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);