前言:
記錄一個用到迭代、泛型及委派的好用範例,也就是我們用Linq常用到的"where方法"!程式碼如下:
public static class Utilities { public static IEnumerable<T> ToWhere<T>(this IEnumerable<T> source , Func<T, bool> predicate) { foreach (T item in source) { if (predicate.Invoke(item)) { yield return item; } } } }
實際使用 :
void Main()
{
List<string> list = new List<string>();
list.Add("Tom");
list.Add("Alex");
list.Add("Ace");
var a = list.ToWhere(x => x.Contains("A"));
a.Dump();
}
輸出結果: