zoukankan      html  css  js  c++  java
  • Linq基本语法概述

    在向大家详细介绍Linq基本语法之前,首先让大家了解下调用Enumberalbe扩展函数,然后全面介绍Linq基本语法。

    Linq基本语法

    1. var result = from item in container orderby value ascending/descending select item; 

    1、获取全部记录

    1. var allCars = from c in myCars select c; 

    2、只获取字段名称

    1. var names = from c in myCars select c.PetName; 

    这里names就是隐式类型的变量。

    3、使用Enumerable.Distinct<T>()

    1. var makes = (from c in myCars select c.Make).Distinct<string>(); 

    4、即可以在定义的时候调用Enumberalbe扩展函数

    1. var names = from c in myCars select c.PetName;  
    2. foreach (var n in names)  
    3. {  
    4. Console.WriteLine("Name: {0}", n);  

    也可以在兼容的数组类型上调用

    1. var makes = from c in myCars select c.Make;  
    2. Console.WriteLine("Distinct makes:");  
    3. foreach (var m in makes.Distinct<string>())  
    4. {  
    5. Console.WriteLine("Make: {0}", m);  
    1. // Now get only the BMWs.  
    2. var onlyBMWs = from c in myCars where c.Make == "BMW" select c; 
    1. // Get BMWs going at least 100 mph.  
    2. var onlyFastBMWs = from c in myCars  
    3. where c.Make == "BMW" && c.Speed >= 100  
    4. select c; 

    5、生成新的数据类型(投影)

    1. var makesColors = from c in myCars select new {c.Make, c.Color}; 

    6、Reverse<T>()

    或者

    1. var subset = (from c in myCars select c).Reverse<Car>();  
    2. foreach (Car c in subset)  
    3. {  
    4. Console.WriteLine("{0} is going {1} MPH", c.PetName, c.Speed);  

    7、排序

    默认是ascending

    1. // Order all the cars by PetName.  
    2. var subset = from c in myCars orderby c.PetName select c;  
    3. // Now find the cars that are going less than 55 mph,  
    4. // and order by descending PetName  
    5. subset = from c in myCars  
    6. where c.Speed > 55 orderby c.PetName descending select c; 

    默认顺序时也可以明确指明

    1. var subset = from c in myCars  
    2. orderby c.PetName ascending select c; 

    8、Enumerable.Except()
    两个IEnumerable<T>兼容的对象的差集

    1. static void GetDiff()  
    2. {  
    3. List<string> myCars = new List<String> 
    4. { "Yugo", "Aztec", "BMW"};  
    5. List<string> yourCars = new List<String> 
    6. { "BMW", "Saab", "Aztec" };  
    7. var carDiff =(from c in myCars select c)  
    8. .Except(from c2 in yourCars select c2);  
    9. Console.WriteLine("Here is what you don't have, but I do:");  
    10. foreach (string s in carDiff)  
    11. Console.WriteLine(s); // Prints Yugo.  

    以上介绍Linq基本语法

  • 相关阅读:
    浏览器滚动条高度的获取与设置
    aspx页面 按钮不响应回车键
    HTML5 canvas 圆盘抽奖
    spark 解决大文件造成的分区数据量过大的问题
    简单http文件服务器 (Python)
    调试分析工具 (C/C++)
    案例学习——网站高并发处理相关技术
    一致性哈希
    Linux 环境下程序不间断运行
    案例分析——BAT业务https化经历
  • 原文地址:https://www.cnblogs.com/mane/p/1830096.html
Copyright © 2011-2022 走看看