C# List.All()和List.TrueForAll()之间的差异
在C# List.All()和List.TrueForAll()之间的差异,c#,linq,C#,Linq,在列表上操作时,.All()和.TrueForAll()之间有实际区别吗?我知道.All()是IEnumerable的一部分,那么为什么要添加.TrueForAll()?TrueForAll存在于.NET2.0中,而LINQ还没有出现在.NET3.5中 请参阅:TrueForAll似乎是特定于列表的,而All是LINQ的一部分 我的猜测是,前者可以追溯到.NET 2天,而后者基本上是.NET 3.5中的新方法,因为这种方法早于Linq。TrueForAll源于Framework 2.0。源于:
列表上操作时,.All()
和.TrueForAll()
之间有实际区别吗?我知道.All()
是IEnumerable
的一部分,那么为什么要添加.TrueForAll()
?TrueForAll
存在于.NET2.0中,而LINQ还没有出现在.NET3.5中
请参阅:TrueForAll
似乎是特定于列表的,而All
是LINQ的一部分
我的猜测是,前者可以追溯到.NET 2天,而后者基本上是.NET 3.5中的新方法,因为这种方法早于Linq。TrueForAll源于Framework 2.0。源于:
支持的版本:4、3.5、3.0、2.0
因此它被添加到可枚举的前面
对于一系列其他的List
方法也是如此,它们的工作方式与LINQ对应的方法类似。请注意,ConvertAll
有些不同,因为它的优点是知道它正在处理列表,并创建列表
,因此,它可以预先分配所需的任何内容。TrueForAll
不是一种扩展方法,在版本2的框架中。我真的应该自己考虑检查它。这是一个显而易见的答案。它们之间是否有任何性能或其他差异?或者它们现在的操作方式是相同的?@Bobson:这是特定于实现的,但我会惊讶地看到任何显著的差异。