linq是微軟提供的一堆擴充套件方法。
通過例子熟悉。對int陣列元素進行篩選 ,
int values = ;ienumerable
e1 = values.where(i => i > 10
);
foreach (int i in
e1)
可以用var進行型別推斷,過濾掉負數,把陣列排序,然後元素兩邊加【】輸出簡化
var e1 = values.where(i => i > 0).orderby(i =>i)
.select(i => "[" + i + "]"
);
foreach (var i ine1)
最終微軟提供新的寫法,類似於sql語句
var e1 = from i in values//foreach(int i in values)
where i > 0
orderby
i descending
select"[
" + i + "
]";
foreach (var i ine1)
lambda其實是匿名方法的簡寫方式
processworddelegate p = delegate(strings) ;
processstringdelegate p = (s) => ;
lambda語法詳解:s為引數列表,不需要標註型別,因為變數宣告中型別已經說明了。=>後的大括號是方法體。 如果方法有返回值,並且**只有一行可以簡寫i=>i>0,等價於i=>。
linq練習
//乙個字串陣列中所有元素都是整數的表示形式
//將他們中大於100的以int序列返回;
string strs = ;
var e1 = from str in
strs
where convert.toint32(str)>100
select convert.toint32(str);
或者
//linq最終都編譯成委託,當然可以呼叫.net函式
var e1 = from str in
strs
let n = convert.toint32(str)//
宣告臨時變數
where n > 100
select
n;
foreach (int i in
e1)
動態LINQ(Lambda表示式)
1.準備資料實體 public class data public int count 建立測試資料 public static listgettestdata data account1 new data data account2 new data data account3 new data ...
動態LINQ(Lambda表示式)構建
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!最近一直都忙於專案也沒什麼時間好好總結一下自己在專案中或平時的收穫 大家都知道現在為了提高開發效率,有關於和資料庫互動方面的部分我們一般都會用orm框架,例如entityframework,nhiberhate,linq to sql等,所以我們隊...
Linq lambda表示式經驗總結
linq有很多值得學習的地方,這裡我們主要介紹linq lambda表示式,包括介紹expression tree等方面。linq lambda表示式 了解過c 3.0的新特性的話應該知道,在c 3.0中新引入了乙個語法結構,稱為lambda expression linq lambda表示式 匿名...