• C# LINQ


    LINQ:语言集成查询

    LINQ是C#中最为璀璨的明珠。  -ARM830

    LINQ最大的功能是进行查询。

    比如说查询某个集合中小于什么什么的。

    如果不使用LINQ,多半都是用for,foreach什么的。

    比如有数组

     var NumArray = new[] {0,1,2,3,4,5,6,7,8,9 };

    我要查询所有大于0,小于5的元素

    不使用LINQ代码:

                var NumArray = new[] {0,1,2,3,4,5,6,7,8,9 };
    
                ArrayList list = new ArrayList();
    
                for(int i=0;i<NumArray.Length;i++)            
                    if(0< NumArray[i] && NumArray[i]<5)               
                        list.Add(NumArray[i]);                 
                    
                
                foreach (var item in list)
                    Console.Write($" {item}");

    那使用LINQ该如何?

    代码:

               var NumArray = new[] {0,1,2,3,4,5,6,7,8,9 };
    
                var list = from i in NumArray
    
                           where i > 0 && i < 5
    
                           select i;                                             
                
                foreach (var item in list)
                    Console.Write($" {item}");
    
                Console.ReadKey();

    这两者一比较,高下立判。

    OK。

    正式的讲一下LINQ。

    LINQ的代码和SQL很像,关键字几乎是差不多的。

    如果你有学习过SQL,那么学习LINQ毫无难度,5分钟解决战斗。

    首先:

     LINQ的结尾必须是以select和group结尾的。

     LINQ的起手是from。

     最简单的例子:就是上面的查询。

     我们来分析一下:

    1             var list = from i in NumArray
    2 
    3                        where i > 0 && i < 5
    4 
    5                        select i;

     1:from开头,这里的i是一个自动推断类型。也就是var i;

     in 是一个关键字和foreach的in是一样的作用。

     其实from  i in NumArray也相等于 foreach(var i in NumArray)

    3:where 关键字,是条件关键字。当where右面表达式成立时才执行下一步

    这一个步骤很好理解。 相等于if,也就是if(i>0&&i<5)

    5: select 关键字 结果自动存入其中。也就是将结果存进 i。

    值得一说 i的类型是  IEnumerable<T>集合。

    这就是LINQ的基础用法。

  • 相关阅读:
    mysql
    MySQL主从同步
    python与各数据库的交互
    snmptrap
    web场景的监控
    zabbix的历史数据存储到elasticsearch中
    使用PopupWindow的实现步骤
    使用PopupWindow的实现步骤
    ListView及其ArrayAdapter的应用
    ListView及其ArrayAdapter的应用
  • 原文地址:https://www.cnblogs.com/T-ARF/p/9227785.html
Copyright © 2020-2023  润新知