• C#课后小试6


    LINQ可以很方便的对数据源进行筛选、排序和分组操作。

       格式 :from   ……      例:          from customer(范围变量) in customers(数据源)

               where  ……                      where customer.Firstname=="sadas"  (筛选的条件)

                select  ……                     select customer     (映射,具体要选的主体或属性)

    LINQ查询式可以立刻执行

    foreach (Customer customer in result) {……;}

    customers[3].FirstName = "Donna";

    foreach (Customer customer in result){…;}  rusult将立刻改变

    如果不想改变,可以预存变化前的值,可以使用tolist() toarry()

     static void Main()

     {

       List<Customer> customers = CreateCustomerList();

       IEnumerable<Customer> result = from customer in customers

          where customer.FirstName == "Donna“ select customer;

        List<Customer> cachedResult = result.ToList<Customer>();   //存值,需要之前的值就去查之前存的地方。

        foreach (Customer customer in cachedResult){…;}

        customers[3].FirstName = "Donna";

        Console.WriteLine("FirstName == "Donna" (take two)");

        foreach (Customer customer in cachedResult){…;}

    }

    连接 join

     [data source 1] join [data source 2] on [join condition]

    将两个数据源按照一定条件连接在一起

    customer in customers join address in addresses on customer.Name equals address.Name;

    排序 orderby

    var result =from customer in Customers

                    orderby customer.LastName

                     select customer;  //升序排Lastname中数据

    var 关键字能够代替局部变量的类型

         foreach (var ca in result) //

         {

             Console.WriteLine(string.Format("{0} Address: {1}",

                 ca.Customer, ca.Address));

          }

    分组 group

    var result = from address in addresses

          group address by address.Name;//按照条件 address.Name 分组

    foreach (var gp in result)

    {

          Console.WriteLine("{0}", gp.Key); //~.key代表分组条件,即address.Name

           foreach (var a in gp)

                 Console.WriteLine(" {0}", a);

     }

  • 相关阅读:
    康托展开
    Linux Command Line Basics
    hihoCoder 1401 Registration
    C++ 参考网站
    Linux 下的常用工具
    SQL 命令
    GNU MAKE 笔记
    一道基本的计算几何题
    uva 1451 平均值
    bzoj 1826 缓存交换
  • 原文地址:https://www.cnblogs.com/wh-tju/p/4461292.html
Copyright © 2020-2023  润新知