首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

深入理解 C# 3.0 五大主要改進 (3) - 匿名型別與 LINQ

     編輯:關於C語言

4. 匿名型別

C# 2.0 匿名方法 → C# 3.0 匿名型別。結合物件初始化設定與隱含型別區域變數:


var myType = new { Length = 79, Width = 30 };

作用域與型別共用


private void Speed()
{
    var cobra = new { Horsepower = 550, Torque = 570 };
    var mustang = new { Horsepower = 300, Torque = 300 };
    mustang = cobra; // 同簽名匿名型別共用編譯器產生類型,可互指派
}

同簽名(相同屬性名稱/型別/順序)匿名型別**共用單一編譯器產生類型**,實例可互換。

5. LINQ (Language Integrated Query)

舊版本:不同資料源需不同查詢語言(XML 用 XPath、SQL 用 T-SQL),缺點:

  • 查詢語言非當前開發語言
  • 需撰寫對應碼將結果轉為 C# 業務物件

LINQ 解決方案

  • 以 **C# 撰寫查詢**,搜尋任何 IEnumerable<T> 資料源
  • 類型安全,無對應碼需求,LINQ API 自動處理映射

範例:查詢訂單數 > 10 的客戶


using System;
using System.Query;
using System.Collections.Generic;

public class SampleClass
{
    static void Main()
    {
        List<Customer> customers = GetCustomers();
        IEnumerable<Customer> queryResult = from customer in customers
                                           where customer.OrderCount > 10
                                           orderby customer.ID
                                           select customer;
    }
}

ORM 解決方案中 LINQ 應用極廣,詳見 LINQ 官方專頁。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved