LinQ To Objects 高级查询方法

简介: <h1><span style="font-size:24px"> 什么是LinQ To Objects?</span></h1> <p><span style="font-size:24px">   </span><span style="font-size:18px">  用一个例子解释,首先定义一个数组,查询数组中的最大值:</span><span style="font-size

 什么是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是什么和怎么用,更加深入的理解需要更加深入的学习和实践!


  
   



     

相关文章
|
5月前
|
SQL 开发框架 .NET
聊聊 System.Linq.Dynamic,以及分享一个使用 System.Linq.Dynamic 扩展 LINQ 查询的详细例子
聊聊 System.Linq.Dynamic,以及分享一个使用 System.Linq.Dynamic 扩展 LINQ 查询的详细例子
150 0
|
SQL .NET C#
用LINQ在集合中查询特定对象
这里是原文出处: 简单的概括LINQ LINQ是Language-Integrated Query的缩写,是C# 3.0和VB 9.0中新加入的语言特性,可以在编程时使用内置的查询语言进行基于集合的操作。
861 0
|
.NET 开发框架 数据库
深入调研Linq to Objects Join Linq to Entity
最近工作中遇到数据库组合查询带来的一些问题,因此有必要调研一下Linq to Objects Join Linq to Entity。参考一些网友的代码案例,深入实践了一下使用EntityFramework Code First 下的组合查询。
1259 0
|
.NET 索引 开发框架