Почему Enumerable.All возвращает true для пустой последовательности? [Дубликат]

На этот вопрос уже есть ответ:

Почему IQueryable.All () возвращает true для пустой коллекции? 11 ответов
var strs = new Collection<string>();
bool b = strs.All(str => str == "ABC");

Код создает пустую коллекцию строк, а затем пытается определить, являются ли все элементы в коллекции "ABC". Если вы запустите его,b будет правдой.

Но в коллекции даже нет элементов, не говоря уже о тех элементах, которые равны "ABC".

Это ошибка или есть разумное объяснение?

Ответы на вопрос(7)

Ваш ответ на вопрос