Linq有表示式語法和呼叫方法的語法。兩者是可以結合使用,通常情況下也都是結合使用。表示式語法看上去比較清晰而呼叫方法的語法實現的功能更多,在此文章中介紹的是表示式語法。方法語法可以看System.Linq等名稱空間下的擴充套件方法。Linq只能用於實現了IEnumerable或IEnumerable<T>介面的類,也就是可以用foreach的類都可以用linq。

注意在3.5和4.0版本上linq的關鍵字有些區別,下文是以4.0為準的。

1.投影操作符

  select:對集合和序列中的值進行投影。from c in contact select c;

2.限制操作符

  where:和sql語句中where一樣用來過濾資料。from c in contact where c.Lastname="Josn" select c;

3.排序操作符

  OrderBy:將返回值按照升序的順序排序。from c in contact orderby c.Lastname select c;

  OrderBy Descending:將返回值按照降序的順序排序。from c in contact orderby c.Lastname descending select c;

3.連線操作符

  join:可以將多個數據源連線。from c in contact join e in employee on c.ID equals e.ContactID select c;

4.分組操作符

  groupby:根據一個特定值將資料來源中的值進行分組。類似於sql語句中的group by。from c in contact groupby (c=>c.Nationality) select c;