【发布时间】:2014-03-26 18:04:25
【问题描述】:
为什么IEnumerable 没有添加项目?
此代码将项目添加到“值”列表:
List<String> values = new List<String>();
for (int i = 0; i < ddlTransportadora.Items.Count; i++)
{
values.Add(ddlTransportadora.Items[i].Value);
}
但是这段代码会产生循环,并且之后的值没有 itens:
IEnumberable<String> values = new List<String>();
for (int i = 0; i < ddlTransportadora.Items.Count; i++)
{
values.Add(ddlTransportadora.Items[i].Value);
}
有什么想法吗?
【问题讨论】:
-
我很惊讶第二个示例可以编译(假设它甚至可以编译)。
IEnumerable没有Add。 -
IEnumerable<T>接口中没有方法Add。 -
另外,第一个例子有什么问题?您使用
IEnumerable的原因通常是您想要迭代或使用 LINQ,但不关心底层源是List还是Array。不是因为你想添加东西。
标签: c# .net list loops ienumerable