对于高级查询方法,主要分为五大类,详情下图:
【Distinct】:  避免重复值出现,也就是如果有两个数字2,那么使用集合类可以单一出现
首先我们来写一个数组,方便举例:
 // 数组数据personsint[ ] Arr = { 25, 36, 25, 2, 3, 9, 55, 581, 21, 15, 44, 78, 96 };-  聚合类
            Console.WriteLine("arr的最大值:" + Arr.Max());Console.WriteLine("arr的最小值:" + Arr.Min());Console.WriteLine("arr的平均值:" + Arr.Average());Console.WriteLine("arr的数组元素个数:" + Arr.Count());Console.WriteLine("arr的总和:" + Arr.Sum());-  排序类,关键字ThenBy
            var result = Arr.OrderBy(p => p.ToString().Substring(0, 1));  //按照首个数字从小到大排序var result = Arr.OrderBy(p => p.ToString().Substring(0, 1)).ThenBy(p => p);  //二次排序//降序排列var t = Arr.OrderBy(p => p.ToString().Substring(0, 1));     var result = from p in t orderby p descending select p;第二种的显示效果:
-  分区类:
一个take一个skip,skip则跳过之意,take则执行
            var result = Arr.Skip(2).Take(3);        //跳过两个再取三个的值 var result = Arr.Skip(3);                //跳过三个的值,取余后的var result = Arr.SkipWhile(p => p >1);   //取出剩余的大于或者等于P之后的所有值,如p>1,所有值都满足,所以输出值为0var result = Arr.TakeWhile(p => p > 4);  //取出第一次符合条件的所有值,当遇见不符合条件的情况则停止执行-  生成类
对于最后讲述的生成类,它并非之前的扩展方法,而是普通的静态方法
Range只能产生整数序列,Repeat只能产生泛型序列
举例:
var result = System.Linq.Enumerable.Repeat(DateTime.Now, 10);    //显示当前日期,和次数