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; // 同簽名匿名型別共用編譯器產生類型,可互指派
}
同簽名(相同屬性名稱/型別/順序)匿名型別**共用單一編譯器產生類型**,實例可互換。
舊版本:不同資料源需不同查詢語言(XML 用 XPath、SQL 用 T-SQL),缺點:
IEnumerable<T> 資料源
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 官方專頁。