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();
}
结果