zoukankan      html  css  js  c++  java
  • Linq笔记

    Linq交流笔记 

    一、Linq是什么?

    Linq是语言级集成查询(Language INtegrated Query),是微软在.Net 3.5中提出的一项新技术, Linq主要包含4个组件——Linq to Objects、Linq to XML、Linq to DataSet 和Linq to SQL。其架构图如下:

     

     其中:

    (1)Linq to SQL :查询基于关系数据的数据,可以对数据库中的数据进行查询,修改,插入,删除,排序等操作;

    (2)Linq to Dataset:查询DasaSet对象中的数据,并对数据进行增删改查的操作;

    (3)Linq to Objects:处理对象和集合数据,可以查询IEnumberable 或IEnumberable<T>集合;

    (4)Linq to XML:可以差选和操作XML文件。

     

    重点关注Linq To Objects:LINQ to Objects的目标是为了操作对象集合,不管是什么操作,都可以看做是LINQ to Objects。只要引入System.Linq这个命名空间,就能够使用LINQ to Objects。 

     

    好处:Linq 使操作这些数据源更加简单,方便和易于理解。

    用一个例子来做说明:

     1 /// <summary>
     2         /// 初始化数组
     3         /// </summary>
     4         /// <param name="number">数组长度</param>
     5         /// <returns>整形数组</returns>
     6         private int[] InitData(int number)
     7         {
     8             int[] arrData = new int[number];
     9 
    10             for (int i = 0; i < number; i++)
    11             {
    12                 arrData[i] = i + 1;
    13             }
    14 
    15             return arrData;
    16         }
    17 
    18 /// <summary>
    19         /// 经常使用的方法:获取小于10的数据
    20         /// </summary>
    21         private void GetDataLessThanTenOld()
    22         {
    23             //获取数据源
    24             int[] arrData = InitData(100);
    25 
    26             //定义结果数组
    27             List<int> arrResult = new List<int>();
    28 
    29             //获取数据
    30             foreach(int i in arrData)
    31             {
    32                 if (i <= 10)
    33                 {
    34                     arrResult.Add(i);
    35                 }
    36             }
    37 
    38             foreach (int j in arrResult)
    39             {
    40                 Response.Write(j + "&nbsp;");
    41             }
    42         }
    43 
    44         /// <summary>
    45         /// 新的方法:获取小于10的数据
    46         /// </summary>
    47         private void GetDataLessThanTenNew()
    48         {
    49             //获取数据源
    50             int[] arrData = InitData(100);
    51 
    52             var arrResult = from i in arrData
    53                             where i <= 10
    54                             select i;
    55 
    56             foreach (int j in arrResult)
    57             {
    58                 Response.Write(j + "&nbsp;");
    59             }
    60 
    61         }
    View Code

    Linq基础用法

    实现过程:

             (1)from :获取数据源 

             (2)where :筛选

             (3)orderby .. ascending:排序

             (4)group .. by ..: 分组

             (5) join :连接

             (6)select :选择

             

    例子:

    //实现过程
            private void SelectData()
            {
                int[] arrData = InitRandomData(100);
    
                var data = from i in arrData        //获取数据源
                           where i < 50             //筛选
                           orderby i descending     //排序
                           select i;                //选择
    
                foreach (int j in data)
                {
                    Response.Write(j + "&nbsp;&nbsp;");
                }
            }

     

    常用方法:

    牛刀小试

     

     

  • 相关阅读:
    设置允许跨域访问
    设计模式学习笔记(1)——单例模式
    yii2 request文件简介
    YII2 添加全局自定义函数
    第2章 查询基础
    第1章 数据库和SQL
    第0章 绪论
    用户贷款风险预测—特征提取
    用户贷款风险预测—数据探索
    Python 数据分析—画图
  • 原文地址:https://www.cnblogs.com/mjw1124/p/3583695.html
Copyright © 2011-2022 走看看