延迟操作符:凡是IEnumerable<T>或IOrderedEnumerable<T>类型的值的操作符都属于延迟操作符。
1.限定操作符
Where
作用:用于将筛选出来的元素放到一个序列中
原型
public static IEnumerable<T> Where<T>( this IEnumerable<T> source, Func<T,bool> predicate);
public static IEnumerable<T> Where<T>( this IEnumerable<T> source, Func<T,int,bool> predicate);
例子
static void Main(string[] args) { string[] items = { "csharp", "vb", "java", "cpp", "python","php","c++" }; var result = items.Where<string>(c => c.StartsWith("c")); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果
static void Main(string[] args) { string[] items = { "csharp", "vb", "java", "cpp", "python","php","c++" }; var result = items.Where<string>((c,i) => (i & 1) == 1); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果