【发布时间】:2012-07-13 20:10:18
【问题描述】:
有没有比这个更优雅的向 IEnumerable 添加项目的解决方案
myNewIEnumerable = myIEnumerable.Concat ( Enumerable.Repeat (item, 1) );
?
一些上下文:
public void printStrings (IEnumerable<string> myStrings) {
Console.WriteLine ("The beginning.");
foreach (var s in myStrings) Console.WriteLine (s);
Console.WriteLine ("The end.");
}
...
var result = someMethodDeliveringAnIEnumerableOfStrings ();
printStrings (result.Concat ( Enumerable.Repeat ("finished", 1) ) );
【问题讨论】:
-
可能不是,IEnumerable 是错误的媒介。显示更多上下文以获得更好的答案。
-
上下文不佳。您可以(并且更好)在这里使用额外的 WriteLine()。
-
@Henk,是的,这个例子有点令人失望。我期待将更多的数据点注入到现有的查询中,而减少对控制台的写入。
-
好的,我为你们更改了示例,使得在 printStrings 之外调用 WriteLine 不再起作用。