C#課後小試6

來源:互聯網
上載者:User

標籤:

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}\nAddress: {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("\t{0}", a);

 }

 

C#課後小試6

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.