RCI*_*CIX 32 c# ienumerable list
我想知道是否可以将IEnumerable转换为List.除了将每个项目复制到列表中之外,还有什么方法可以做到吗?
dmn*_*mnd 39
如前所述,使用yourEnumerable.ToList().它通过您枚举IEnumerable,将内容存储在新的内容中List.您不一定要复制现有列表,因为您IEnumerable可能会懒惰地生成元素.
这正是其他答案所暗示的,但更清晰.这是反汇编,所以你可以肯定:
public static List<TSource> ToList<TSource>(this IEnumerable<TSource> source)
{
if (source == null)
{
throw Error.ArgumentNull("source");
}
return new List<TSource>(source);
}
Run Code Online (Sandbox Code Playgroud)
Joh*_*ell 34
//使用System.Linq;
使用.ToList()方法.在System.Linq命名空间中找到.
var yourList = yourEnumerable.ToList();
Run Code Online (Sandbox Code Playgroud)
https://docs.microsoft.com/en-us/dotnet/api/system.linq?view=netcore-2.2
正如其他人建议的那样,只需ToList()在可枚举对象上使用该方法:
var myList = myEnumerable.ToList()
Run Code Online (Sandbox Code Playgroud)
但是,如果您的IEnumerable对象没有该ToList()方法,并且您收到如下错误:
'IEnumerable'不包含'ToList'的定义
你可能错过了System.Linq命名空间,所以只需添加它:
using System.Linq
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66034 次 |
| 最近记录: |