使用linq时是否需要使用对象类型?

时间:2014-07-08 17:02:42

标签: c# .net linq

我发现很多linq方法使用Generics,例如:

public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);

我可以像:

一样使用它
XX.Where<Person>();

但我也可以使用它:

XX.Where();

那么那里有什么不同吗?有更快的速度吗?或者没有任何不同?因为它在构建项目时已经正确构建了吗?

更新

为什么我要问它,因为我记得在使用net3.5时有些人告诉我,如果你不使用Generics,就会发生Boxing和拆箱,它会让你的应用更慢...... **

1 个答案:

答案 0 :(得分:3)

这是类型推断的一种形式。有关流程的详细说明,请参阅http://msdn.microsoft.com/en-us/library/twcad0zb.aspx