IEnumerable 和 List 有什么区别解决办法
IEnumerable<InnerBoundary> 和 List<InnerBoundary> 有什么区别
List<InnerBoundary>.add 可以通过add给list 负值,我如何给 IEnumerable<InnerBoundary> 负值,他没有add function,谢谢!
------解决方案--------------------
IEnumerable不能赋值,只能读取
List<InnerBoundary>.add 可以通过add给list 负值,我如何给 IEnumerable<InnerBoundary> 负值,他没有add function,谢谢!
------解决方案--------------------
IEnumerable不能赋值,只能读取
- C# code
InnerBoundary[] nnn=new InnerBoundary[10]; IEnumerable<InnerBoundary> aaa=nnn; IEnumerator<InnerBoundary> oo= aaa.GetEnumerator(); while (oo.MoveNext()) { InnerBoundary b = oo.Current; b.属性=... }
------解决方案--------------------
List是实实在在存在的,IEnumerable不一定。
你可以构造一个无限枚举:
IEnumerable<int> foo()
{
while (true) yield return 1;
}
你可以这么用:
foreach (int x in foo().Take(100))
Console.WriteLine(x);
也可以用:
foreach (int x in foo().Take(10000))
Console.WriteLine(x);
它可以无限制地拿出任意多个元素。