List.All()和List.TrueForAll()之间的区别

时间:2011-02-11 14:59:48

标签: c# linq

.All()上操作时,.TrueForAll()List之间是否存在实际差异?我知道.All()IEnumerable的一部分,为什么要添加.TrueForAll()

5 个答案:

答案 0 :(得分:42)

来自docs for List<T>.TrueForAll

  

支持:4,3.5,3.0,2.0

所以在 Enumerable.All之前添加了

对于一组其他List<T>方法也是如此,这些方法的工作方式与它们的LINQ对应方式类似。请注意,ConvertAll有些不同,因为它具有知道它正在List<T>上工作并创建List<TResult>的优势,因此它可以预先分配无论需要什么。

答案 1 :(得分:8)

在LINQ使用.NET 3.5之前,

TrueForAll存在于.NET 2.0中。

请参阅:http://msdn.microsoft.com/en-us/library/kdxe4x4w(v=VS.80).aspx

答案 2 :(得分:4)

TrueForAll似乎特定于List,而All是LINQ的一部分。

我的猜测是前者可以追溯到.NET 2天,而后者是.NET 3.5中的新功能。

答案 3 :(得分:2)

基本上,因为这种方法在Linq之前存在。列表中的TrueForAll源自Framework 2.0。

答案 4 :(得分:1)

TrueForAll不是扩展方法,而是在版本2的框架中。