Lambda變量
Lambda表達式和匿名方法很類似,但Lambda表達式比匿名方法更靈活,而且語法比匿名方法更簡潔。select
在LINQ中能夠使用Lambda表達式建立委託,這些委託將稍後執行查詢時被調用。語法
Lambda表達式使用的操做符「=>」。這個操做符的意思就是「流入」,左側爲任意的輸入參數,右側能夠表達式,也能夠語句塊。方法
Lambda能夠包括任意數量的語句,但它一般會保持爲兩個或三個語句,主要爲了便於閱讀以及防止它太過複雜。查詢
使用Lambda表達式需記住如下規則:co
1.若是Lambda表達式返回一個值,返回值必須隱式地轉換成委託類型。閱讀
2.Lambda表達式包含的參數數目必須同委託類型的參數數目相同。context
3.每一個輸入參數必須隱式地轉換相應的委託參數。參數
var pro=context.products.Single(p=>p.id==id);
此查詢也能夠寫爲:
var pro=from c in context where c.id==id select c;
這兩個查詢返回相同的輸出結構,可是Lambda表達式使用方法語法之內鏈接表達式的方式變成寫查詢。
Single標準查詢操做符來返回序列中的單個元素。操做符左邊的p是輸入變量,對應於查詢表達式的p