Подтвердить что ты не робот

Разница между List.All() и List.TrueForAll()

Существует ли практическая разница между .All() и .TrueForAll() при работе на List? Я знаю, что .All() является частью IEnumerable, поэтому зачем добавлять .TrueForAll()?

4b9b3361

Ответ 1

Из docs для List<T>.TrueForAll:

Поддерживается в версиях: 4, 3.5, 3.0, 2.0

Поэтому он был добавлен до Enumerable.All.

То же самое верно для множества других методов List<T>, которые работают аналогично их LINQ-аналогам. Обратите внимание, что ConvertAll несколько отличается тем, что имеет преимущество в том, что он работает над List<T> и создает List<TResult>, поэтому он получает возможность распределять все, что ему нужно.

Ответ 3

TrueForAll представляется специфичным для List, тогда как All является частью LINQ.

Я предполагаю, что первое относится к .NET 2 дням, а последнее - к .NET 3.5.

Ответ 4

В принципе, поскольку этот метод существовал до того, как Linq сделал. TrueForAll в списке возник из Framework 2.0.

Ответ 5

TrueForAll не является методом расширения и в рамках версии 2.