废话不多说,直接上代码,代码有注释!自行运行测试!
class Program { static void Main(string[] args) { string[] names = { "郭靖", "李莫愁", "欧阳晓晓", "黄蓉", "黄药师", "郭靖", "黄蓉" }; //Take()方法:用于从一个序列的开头返回指定数量的元素。 Console.WriteLine("Take方法直接输出前3个元素"); foreach (var name in names.Take(3)) { Console.WriteLine(name); } var query = from n in names where n.Length == 2 select n; Console.WriteLine("Take方法输出查询结果的前1个元素"); foreach (var s in query.Take(1)) { Console.WriteLine(s); } Console.WriteLine("\n\n\n"); /////////////////////////////////////////////////////////////////////// //Skip()方法:用于跳过序列中指定个数的元素。 ////////////////////////////////////////////////////////////////////// Console.WriteLine("Skip方法跳过前3个元素"); foreach (var name in names.Skip(3)) { Console.WriteLine(name); } Console.WriteLine("Skip方法跳过查询结果的前1个元素"); foreach (var s in query.Skip(1)) { Console.WriteLine(s); } Console.WriteLine("\n\n\n"); /////////////////////////////////////////////////////////////////////// //TakeWhile()方法:用于取序列中从开头起符合条件的元素,直到遇到不符合条件的元素为止的所有元素。注意:当条件为假时,就停止了,后面的元素不会输出。 ////////////////////////////////////////////////////////////////////// Console.WriteLine("TakeWhile用法1如下"); foreach (var name in names.TakeWhile(A=>A.Length==2)) { Console.WriteLine(name); } Console.WriteLine("TakeWhile用法2如下"); //注意:当条件为假时,就停止了,后面的元素不会输出。 foreach (var name in names.TakeWhile((item, index) => item.Length < 4 && index < 4)) { Console.WriteLine(name); } Console.WriteLine("\n\n\n"); /////////////////////////////////////////////////////////////////////// //SkipWhile()方法:用于只要满足指定的条件,就跳过序列中得元素。注意:当遇到条件为假时,就停止跳越了,输出剩余的所有元素。 ////////////////////////////////////////////////////////////////////// Console.WriteLine("SkipWhile用法1如下"); foreach (var name in names.SkipWhile(n => n.Length == 2)) { Console.WriteLine(name); } Console.WriteLine("SkipWhile用法2如下"); //SkipWhile跳过名字小于4个字,并且索引小于2 foreach (var s in names.SkipWhile((item, index) => item.Length < 4 && index < 2)) { Console.WriteLine(s); } Console.WriteLine("\n\n\n"); /////////////////////////////////////////////////////////////////////// //Reverse()方法:用于反转 ////////////////////////////////////////////////////////////////////// Console.WriteLine("Reverse用法1如下"); foreach (var name in names.Reverse()) { Console.WriteLine(name); } Console.WriteLine("\n\n\n"); /////////////////////////////////////////////////////////////////////// //Distinct()方法:用于去掉重复元素 ////////////////////////////////////////////////////////////////////// Console.WriteLine("Distinct用法1如下"); foreach (var name in names.Distinct()) { Console.WriteLine(name); } Console.WriteLine("\n\n\n"); /////////////////////////////////////////////////////////////////////// //Union()方法:用于合并两个序列,并去掉重复元素。 ////////////////////////////////////////////////////////////////////// Console.WriteLine("Union用法1如下"); string[] names2 = { "郭靖", "黄蓉","神雕","小龙女" }; foreach (var name in names.Union(names2)) { Console.WriteLine(name + " "); } Console.WriteLine("\n\n\n"); /////////////////////////////////////////////////////////////////////// //Concat()方法:用于合并两个序列,但不会去掉重复元素。 ////////////////////////////////////////////////////////////////////// Console.WriteLine("Concat用法1如下"); foreach (var name in names.Concat(names2)) { Console.WriteLine(name + " "); } Console.ReadKey(); } }
@陈卧龙的博客