Иногда я ожидаю определенный диапазон элементов и должен выполнить некоторую проверку, чтобы убедиться, что я в этом диапазоне. Самый очевидный способ сделать это - просто сравнить количество элементов в коллекции с диапазоном.
public static bool IsWithinRange<T>(this IEnumerable<T> enumerable, int max)
{
return enumerable.Count() <= max;
}
Хотя, я понимаю, что метод linq Count() будет оценивать все перечисляемые перед возвратом результата. В идеале я бы только оценил минимальное количество предметов, чтобы получить результат.
Каким будет лучший способ обеспечить, чтобы перечислимое число было меньше определенного количества элементов без какой-либо ненужной оценки?