c# - ToList<T>() 与 ToList()

标签 c# .net performance list generics

ToList<T>() 中指定具体类型是否有意义? , AsEnumerable<T>()等方法?

威尔.ToList<SomeClass>()执行速度比 .ToList() 快?

最佳答案

如果编译器推断出一种类型而您想要指定另一种类型,这是有意义的。否则没有意义。

例如,假设您有一个 IEnumerable<string>并想创建一个 List<T> ... 如果你想要 List<string>然后调用ToList() .如果您想使用通用协方差并获得 List<object> , 调用 ToList<object> :

IEnumerable<string> strings = new [] { "foo" };
List<string> stringList = strings.ToList();
List<object> objectList = strings.ToList<object>();

无论你使用上面的代码还是中间行生成的IL都是一样的

List<string> stringList = strings.ToList<string>();

这只是编译器为您推断类型的问题。

Will .ToList<SomeClass>() execute faster than just .ToList()?

不,由于上述...生成了相同的代码。

关于c# - ToList<T>() 与 ToList(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33544078/

相关文章:

c# - 为什么 foreach on PlaceHolder.Controls 抛出 "Collection was modified"?

c# - 为什么我的异常没有被捕获?

c# - VB.NET和C#的语法比较系统、全面、完整

mysql - 用 View 翻译表格是否可行?

asp.net - 缩小 ASP.NET 应用程序的 Html 输出

c# - 如何从 ASP.NET 应用程序运行 CMD.exe 命令?

c# - CaSTLe Windsor 拦截来自类内部的方法调用

c# - 显示 .txt 文件中的随机行 - C#

c# - API 未正确将 CosmosDB 依赖项注册到 App Insights

python - 高效地在Python中随机列出数百万个元素