LINQ簡介
1.NET Language Integrated Query(LINQ):不採用特定於關聯式資料庫或者XML的專有方案,而採用通用方案來解決各種資訊源的訪問與整合問題。
2.在LINQ中,查詢成為程式設計語言的一個組成部分,這使得查詢運算式可以得到很好的編譯時間語法檢查,豐富的中繼資料,智能感知等強型別語言的好處。
文法格式:
class Program
{
static void Main(string[] args)
{
string[] names = { "burke", "Connor", "Frank", "Everett", "Albert", "Geroge", "Harris", "David" };
IEnumerable<string> query = from s in names
where s.Length == 5
orderby s
select s.ToUpper();
foreach (string item in query)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
}
以上:
IEnumerable<string> query = from s in names
where s.Length == 5
orderby s
select s.ToUpper();
等同於
IEnumerable<string> query = from s in names
where (s=>s.Length == 5)
orderby (s=>s)
select (s=>s.ToUpper());
等同於如下委託:Func<string,bool> filter = delegate(string s){
return s.Length == 5;}
Func<string,string> extract = delegate(string s){
return s;}
Func<string,string> project = delegate(string s){
return s.ToUpper();};
IEnumerable<string> query = names.Where(filter)
.OrderBy(extract)
.Select(project);