2011-06-21 120 views
5

可能重複:
Lamda Explanation and what it is as well as a good example
What is the => token called?'=>'在C#中做什麼?

我看到這個代碼:

myContext.SomeEntities.Single(x => x.code == code); 

而且我不知道什麼是=>運營商做。

在google上搜索每個關於該運算符的結果都不會返回任何結果。

謝謝。

+0

相似:http://stackoverflow.com/questions/5873603/whats-the-point-of-a-lambda-expression – 2011-06-21 17:16:17

+0

http://stackoverflow.com/questions/274022/how-do-i-pronounce -as-used-in-lambda-expressions-in-net –

+0

@Steve:這甚至是重複的嗎?你的問題中的用戶知道lambda表達式是什麼,@Javiere沒有。他在問什麼=>很像有人會問什麼!標誌確實。 – 2011-06-21 17:17:23

回答

15

=>操作者指定一個Lambda Expression

lambda表達式是可以包含表達式和語句,並且可以用於創建代表或表達式樹類型的匿名函數。

所有的lambda表達式都使用lambda運算符=>,它被讀作「去往」。 lambda運算符的左側指定輸入參數(如果有的話),右側保存表達式或語句塊。 lambda表達式x => x * x被讀取爲「x轉到x次x」。該表達式可以被分配給一個委託類型如下:

static void Main(string[] args) 
{ 
    Func<int, int> func = x => x * x; 
    int j = func(5); 
    // j == 25 
} 
+0

我也看到/聽到過「地圖到」而不是「去」。 –

+0

+1需要更多時間,然後其他答案,複製並粘貼報價(儘管已經涵蓋此報價)並提供示例。 – Nix

+0

@Richard:或者「爲了哪個」 – 2011-06-21 17:18:20

2

這是定義一個lambda。你可以閱讀它「x進入x.code等於代碼」,這意味着給定x,返回給定比較的結果。