读书人

IEnumerablelt;InnerBoundarygt; 和 List

发布时间: 2012-03-28 15:40:03 作者: rapoo

IEnumerable<InnerBoundary> 和 List<InnerBoundary> 有什么区别
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);

它可以无限制地拿出任意多个元素。

读书人网 >C#

热点推荐