【发布时间】:2014-12-19 08:04:36
【问题描述】:
在互联网上搜索 C# 中的 IEnumerable 接口是什么?它解决的问题?如果我们不使用它怎么办?但从来没有真正得到多少。很多帖子解释了如何实现它。
我还找到了以下示例
List<string> List = new List<string>();
List.Add("Sourav");
List.Add("Ram");
List.Add("Sachin");
IEnumerable names = from n in List where (n.StartsWith("S")) select n;
// var names = from n in List where (n.StartsWith("S")) select n;
foreach (string name in names)
{
Console.WriteLine(name);
}
上述前输出:
苏拉夫
萨钦
我想知道,在上面的例子中使用 IEnumerable 的好处是什么?我可以使用“var”(注释行)来实现同样的效果。
如果你们中的任何人能帮助我理解这一点以及使用 IEnumerable 和示例有什么好处,我将不胜感激?如果我们不使用它怎么办?
【问题讨论】:
-
IEnumerable names = ...表示您对序列中项目的确切类型不感兴趣。任何事情都会足够好。所以,你可以写foreach (int name in names),它会编译(但在运行时肯定会失败)。您可以显式声明类型:IEnumerable<string> names = ...,也可以允许编译器为您推断:var names = ...
标签: c# ienumerable