前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LinQ To Objects 高级查询方法

LinQ To Objects 高级查询方法

作者头像
令仔很忙
发布2018-09-14 15:46:19
8920
发布2018-09-14 15:46:19
举报
文章被收录于专栏:令仔很忙令仔很忙

 什么是LinQ To Objects?

  用一个例子解释,首先定义一个数组,查询数组中的最大值:

代码语言:javascript
复制
int[] arr = { 123, 2, 3, 45, 654, 2324, 897, 56, 6554, 4, 3, 6, 8, 434 };

     旧的方法:

代码语言:javascript
复制
   int max=0 ;
   foreach(int a in arr)
   {
       if(a>=max)
          max=a;
   }
   Console.Write("最大值:"+ max);

      LinQ To Objects方法:

代码语言:javascript
复制
    Console.WriteLine("arr的最大值:"+ arr.Max());

     由此可以看出,LinQ To Objects是一种新的处理集合的方法,相对于旧方法中必须编写指定如何从集合检索数据的复杂的foreach循环,而LinQ方法只需要编写描述要检索的内容的声明性代码。

LinQ To Objects高级查询方法

代码语言:javascript
复制
<span style="font-size:18px;">    //LinQ To Objects查询高级方法
    //数组数据persons
    int[] arr = {123, 2, 3, 45, 654, 2324, 897, 56, 6554, 4, 3, 6, 8,434};</span>

      聚合类:

代码语言:javascript
复制
    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());

      排序类

代码语言:javascript
复制
   var result = arr.OrderBy(p => p.ToString().Substring(0, 1));  //按首字母排序
   var result = arr.OrderBy(p => p.ToString().Substring(0, 1)).ThenBy(p => p);  //2次排序

   var t = arr.OrderBy(p => p.ToString().Substring(0, 1));   //对数组进行
   var result = from p in t orderby  p descending select p;  //降序排列

    分区类

代码语言:javascript
复制
  var result = arr.Skip(2).Take(3);跳过2个值取后面的3个值
  var result = arr.Skip(3); //跳过3个值取后面所有的值
  var result = arr.SkipWhile(p => p > 4); //方法体部分是该LingQ语句不在往后执行的条件,当第一次遇到条件成立时取剩下的所有数据
  var result = arr.TakeWhile(p => p > 4); //方法体部分是该LinQ语句提取数据的条件,当第一次遇到条件不成立的情况时停止执行

   集合类

代码语言:javascript
复制
  var result = arr.Distinct();  //把数组中重复的记录过滤掉

   生成类

代码语言:javascript
复制
  var result= System.Linq.Enumerable.Range(10,50);  //生成连续的数列
  var result = System.Linq.Enumerable.Repeat(DateTime.Now, 10); //生成10个相同的日期

 总结

通过这些小小的例子,对新的知识从不知道到了解,初步学习LinQ ToObjects是什么和怎么用,更加深入的理解需要更加深入的学习和实践!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年11月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  什么是LinQ To Objects?
    •      旧的方法:
      •       LinQ To Objects方法:
      • LinQ To Objects高级查询方法
        •       聚合类:
          •       排序类
            •     分区类
              •    集合类
                •    生成类
                •  总结
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档