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

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

var strs = new Collection();
bool b = strs.All(str => str == "ABC");

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

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

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

99
задан Wai Ha Lee 23 August 2015 в 17:13
поделиться