LinQ To Objects 高级查询方法

 什么是LinQ To Objects?

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

int[] arr = { 123, 2, 3, 45, 654, 2324, 897, 56, 6554, 4, 3, 6, 8, 434 };

     旧的方法:   

   int max=0 ;
   foreach(int a in arr)
   {
       if(a>=max)
          max=a;
   }
   Console.Write("最大值:"+ max);

   

      LinQ To Objects方法:   

    Console.WriteLine("arr的最大值:"+ arr.Max());

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

LinQ To Objects高级查询方法

<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>

     

      聚合类: 

    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());

     

      排序类   

   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;  //降序排列

    分区类   

  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语句提取数据的条件,当第一次遇到条件不成立的情况时停止执行

   集合类

  var result = arr.Distinct();  //把数组中重复的记录过滤掉

   生成类 

  var result= System.Linq.Enumerable.Range(10,50);  //生成连续的数列
  var result = System.Linq.Enumerable.Repeat(DateTime.Now, 10); //生成10个相同的日期

 总结

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

  
   

     

时间: 2025-01-15 11:59:39

LinQ To Objects 高级查询方法的相关文章

Linq——高级查询方法入门

            一,Lambda表达式                          lambda表达式刚开始用的时候还很不习惯,因为以前用惯了那种先foreach,再逐个判断的麻烦形式,刚开始用lambda都会在脑子里转一下,变成自己让自己舒服的格式,但是写过几行代码后,就会喜欢上这种形式,首先,它比较简洁,其次,和LINQ组合起来用感觉非常贴近SQL:           二,LINQ高级查询内容简介                                        

代码-linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下

问题描述 linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下 with temp as ( select (case when SHIFTSCHEDULEID is null then (case when TICKET_SELL_TYPE=2 then (select COMPANY_ID from TBL_YD_SHIFT where SHIFTNUMBER= (select SHIFTNUMBER from TBL_SP_TICKET where tick

《七周七数据库》一一2.3 第2天:高级查询、代码和规则

2.3 第2天:高级查询.代码和规则 七周七数据库昨天,我们看到了如何定义数据库表,然后插入数据,更新和删除行,以及读数据.今天我们将更深入探讨PostgreSQL查询数据的各种方法. 我们将看到如何对相似的值归类,在服务器端执行代码,并使用视图(view)和规则(rule)创建自定义接口.在这一天的最后,我们将利用PostgreSQL的一个扩展包翻转表头. 2.3.1 聚合函数 聚合查询按照一些共同的标准将多行的结果分组.它可以简单到统计一张表的行数,或计算某些数值列的平均值.它们是强大的SQ

Swift使用LINQ操作数组/集合(附Swift的LINQ扩展、及替代方法)

一,什么是LINQ LINQ 是 Language Integrated Query(语言集成查询)的简称.它是微软在.NET 3.5中引入的重要功能.既然是微软推出的,那对应的编程言自然是c#和Visual Basic语言. 1,LINQ的作用 让我们可以使用相同API(类似SQL的语法来查询)操作不同的数据源.比如:SQL Server.Oracle.XML以及内存中的数据集合,当然开发人员也可以使用其提供的扩展框架添加更多的数据源. 2,LINQ的查询操作符 LINQ定义了大约40个查询操

艾伟_转载:打造优雅的Linq To SQL动态查询

首先我们来看看日常比较典型的一种查询Form 这个场景很简单:就是根据客户名.订单日期.负责人来作筛选条件,然后找出符合要求的订单. 在那遥远的时代,可能避免不了要写这样的简单接口: public interface IOrderService{ IList<Order> Search(string customer, DateTime dateFrom, DateTime dateTo, int employeeID);} 具体爱怎么实现就怎么实现啦,存储过程,ORM框架.这里假定是用了孩童

(转载)SQL高级查询技巧

1.UNION,EXCEPT,INTERSECT运算符 A,UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表. 当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行.两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2. B, EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表

关于mongodb按照字段模糊查询方法

关于mongodb按照字段模糊查询方法   模糊查询:tname包含某个关键字测试' cd /opt/soft/mongodb/bin ./mongo --host 192.168.0.1  --port 17017  test db.test_info.find({"tname": {$regex: '测试', $options:'i'}})  db.test_info.find({"tname": {$regex:/测试.*/i}}) 

论道Windows Phone(四) LINQ to SQL的查询

有一天,一个读者给我发邮件,问我是否有兴趣做一个翻译应用,根据<美食译苑--中文菜单英文译法>把中文菜名译成英文菜名,因 为他经常和老外吃饭,所以希望他的WP手机上能有一个这样的应用,而我们则正好借此机会探索LINQ to SQL的查询以及相关的优化技巧. 使用现有的数据库 Windows Phone 7.5新增了对SQL Server CE数据库的支持,但Visual Studio 2010没有为Windows Phone的 项目提供数据库的工具支持,比如表的设计和实体类的生成等,另外,数据

Linq to SQL之查询和添加

本文以Northwind数据库中的Customers和Orders表为例说明Linq to SQL的查询和添加是怎样操作的. 首先通过Linq to SQL File向导创建DataContext以及相应的Entity Class,如果不知道怎样做请看这 里:Defining data model classes 创建一个Customer对象,然后把该数据添加到数据库中去. NorthwindDataContext ctx = new NorthwindDataContext(); Custom