• LinQ的一些基本语句


    LINQ(Language Integrated Query)即语言集成查询。它是一种语言特性和API,使得你可以使用统一的方式编写各种查询,查询的对象包括xml、对象集合、SqlServer数据库等。

    1、LINQ To Object      负责对象的查询

    2、LINQ To XML         负责对XML的查询

    3、LINQ To ADO.NET  负责数据库的查询

    查询例如:

    int[] numbers=new int[]{1,2,7,9,3,6}

    List<int> array=new List<int>();

    foreach(int temp in numbers)

    {

    if(temp%2==0)

    {

    array.Add(temp);

    }

    LINQ 查询:

    int[] numbers=new int[]{1,3,5,9,2,7}

    var even=numbers.where(p=>p%2==0).select(p=>p).OrderBy Descending(p=>p);//从数组中提取偶数并降序排列

    even.sort();//升序

    even.Reverse();//降序

    Lambda表达式的进化:

    C# 1.0  委托

    C# 20  匿名方法

    C# 3.0 Lambda表达式

    委托:

    delegate string ProcessString(string input);

    ProcessString p=new ProcessString(Lowerlt);

    foreach(string name in FoxRive)

    {

    console.WriteLine(p(name));

    }

    Private string Lowerlt(string input)

    {

    return input.ToLower();

    }

    匿名方法:

    ProcessString p=new ProcessString(string input)

    {

    return input.ToLower();

    }

    foreach(string name in FoxRive)

    {

    console.WriteLine(p(name));

    }

    Lambda表达式:

    ProcessString p=input=>input.ToLower();

    foreach(string name in FoxRive)

    {

    console.WriteLine(p(name));

    }

    查询语句示例:

    示例一:

    int[] numbers=new int[]{6,4,3,2,1,9,7,8,5}

    var even=numbers.where(p=>p%2==0)

                  .select(p=>{console.write(p.tostring())}); return p;)

    foreach(var item in even)

    {

    console.writeline(item);

    }

    示例二:

    int[] numbers=new int[]{6,4,3,2,1,9,7,8,5}

    var even=from number in numbers

                  where  number%2==0)

                  .orderby number descending select number;

    foreach(var item in even)

    {

    console.writeline(item);

    }

    复杂查询语句示例:

    List<Person> p=GetFoxRiver();

    var q=from a in p where a.Age<30 && a.FristName.Length=7

              orderby a.Age DEscending

             select new {Name=a.FristName+""+a.LastName,Age=a.Age};

    foreach(var item in even)

    {

    console.writeline(item.Name+""+item.Age);

    }

    聚合类

    int[] array=new int[]{1,3,7,9,2,14}

    console.writeline("Max:{0}",array.Max());//返回最大值

    console.writeline("Min:{0}",array.Min());//返回最小值

    console.writeline("Average:{0}",array.Average());//返回平均值

    var result=(from p in array where p.Startswith(',') select p).count();

    console.writeline("count:{0}",result);//返回数组中总共几个数

    分区类

    var result=array.Take(3);//从序列开头返回指定数量,连续元素

    结果:1,3,7

    var result=array.Takewhere(p=>p%2==0);//满足条件就返回元素,不满足就不返回

    结果:2,14

    var result=array.where(p=>p%2==0).Take(1);//

    结果:2

    var result=array.skip(2);//跳出序列中指定数量的元素返回剩余值元素

    结果:3,7,9,2,14

    var result=array.skipwhere(p=>p》3);//

    结果:7,9,2,14

    集合类

    var result=array.Distirot();//返回序列中非重复元素

    生成类:

    var result=Enumerable.Repeat("a",10).tolist();//生成包含一个重复值的序列

    var result=Enumerable.Range(2,10).tolist();//生成一个指定范围内的序列

  • 相关阅读:
    CSS边框,背景,边距,溢出
    数字电子技术课程设计之基于触发器的三位二进制同步减法计数器无效态000/110
    集成电路版图与工艺课程设计之用CMOS实现Y=AB+C电路与版图
    金属磁记忆传感器封装
    基于FPGA 的8b10b编解码电路前端电路设计
    Css颜色和文本字体
    Css中的选择器
    Css基本语法及页面引用
    65 插入排序
    63 散列表的查找
  • 原文地址:https://www.cnblogs.com/luckly-hf/p/4075123.html
Copyright © 2020-2023  润新知