3.分区操作符
Take
作用:可以返回来自输入序列中指定数量的元素,并从输入序列的第一个元素开始计数。
简单的说就是获取序列中的前几项
原型
public static IEnumerable<T> Take<T>( this IEnumerable<T> source,int count);
例子
static void Main(string[] args) { string[] items = { "Hello World", "Welcome to MVC", "Linq to Sql"}; var result = items.Take<string>(2); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果
TakeWhile
作用:可以在指定的一些条件为True时从输入序列中提取元素,从序列中的第一个
元素开始,其他的输入元素被跳过。
原型
public static IEnumerable<T> TakeWhile<T>( this IEnumerable<T> source, Func<T, bool> predicate);
public static IEnumerable<T> TakeWhile<T>( this IEnumerable<T> source, Func<T, int, bool> predicate);
例子
static void Main(string[] args) { string[] items = { "Hello World", "Welcome to MVC", "Linq to Sql"}; var result = items.TakeWhile<string>(c => c.IndexOf("W")>=0); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果
static void Main(string[] args) { string[] items = { "Hello World", "Welcome to MVC", "Linq to Sql"}; var result = items.TakeWhile<string>((c, i) => c.IndexOf("W")>=0 && i < 1); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果
Skip
作用:将跳过序列中从该序列的第一个元素开始的制定数量的元素,并取出其余的元素
原型
public static IEnumerable<T> Skip<T>( this IEnumerable<T> source, int count);
例子
static void Main(string[] args) { string[] items = { "Hello World", "Welcome to MVC", "Linq to Sql"}; var result = items.Skip(2); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果
SkipWhile
作用:操作一个输入序列,在知道条件为true时,跳过一些元素,提取剩余的元素。
原型
public static IEnumerable<T> SkipWhile<T>( this IEnumerable<T> source, Func<T, bool> predicate);
public static IEnumerable<T> SkipWhile<T>( this IEnumerable<T> source, Func<T, int, bool> predicate);
例子
static void Main(string[] args) { string[] items = { "Hello World", "Welcome to MVC", "Linq to Sql"}; var result = items.SkipWhile(c=>c.StartsWith("H")); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果
例子
static void Main(string[] args) { string[] items = { "Hello World", "Welcome to MVC", "Linq to Sql"}; var result = items.SkipWhile((c,i)=>c.IndexOf("l") > 0 && i < 2); //显示查询结果 foreach (var item in result) { Console.WriteLine(item); } Console.Read(); }
结果