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;