我最近遇到了一个与LINQ有关的面试问题.
空序列有什么用??他问"我是否想要你使用那个,你在哪里适合它?"
public static IEnumerable<TResult> Empty<TResult>()
{
yield break;
}
Run Code Online (Sandbox Code Playgroud)
我没有回答.感谢帮助.
当您想要快速创建一个IEnumerable<T>新的引用时,您可以使用它,而不必创建对新的引用List<T>并利用yield关键字。
List<string[]> namesList =
new List<string[]> { names1, names2, names3 };
// Only include arrays that have four or more elements
IEnumerable<string> allNames =
namesList.Aggregate(Enumerable.Empty<string>(),
(current, next) => next.Length > 3 ? current.Union(next) : current);
Run Code Online (Sandbox Code Playgroud)
请注意Union的使用,因为它不是List ,因此您无法调用Add方法,但您可以在IEnumerable
| 归档时间: |
|
| 查看次数: |
2857 次 |
| 最近记录: |