=> 運運算元 (C# 參考)

來源:互聯網
上載者:User

=> 語彙基元又稱為 Lambda 運運算元。 它會在「Lambda 運算式」(Lambda Expression) 中使用,以分開右邊的 Lambda 主體和左邊的輸入變數。 Lambda 運算式是類似匿名方法 (Anonymous Method) 的內嵌 (Inline) 運算式,但更有彈性。它會在以方法語法所表示的 LINQ 查詢中大量使用。 

string[] words = { "cherry", "apple", "blueberry" };int shortestWordLength = words.Min(w => w.Length);Console.WriteLine(shortestWordLength);

=> 運運算元讀為 "goes to"。 在先前的範例運算式是標示為 「 最小 w 步] 到 w 點長度 」。

=> 運運算元和指派運運算元 (=) 具有相同的優先順序,而且是右向關聯的。

您可以明確指定輸入變數的型別,或者讓編譯器 (Compiler) 推斷該型別。在這些情況下,變數在編譯時期會為強型別 (Strongly Typed)。 指定型別時,必須以括弧括住型別名稱和變數名稱, 如下列範例所示:

int shortestWordLength = words.Min((string w) => w.Length);

括弧內可括住多個變數,如本主題後面的範例所示。

範例

下列範例示範如何為標準查詢運運算元 Enumerable.Where 撰寫具有兩個輸入變數的 Lambda 運算式。 這個運算式會傳回所有長度小於陣列中之索引位置的字串。

VBC#C++F#JScript
string[] digits = { "zero", "one", "two", "three", "four", "five",                     "six", "seven", "eight", "nine" };var shortDigits = digits.Where((digit, index) => digit.Length < index);foreach (var sD in shortDigits){    Console.WriteLine(sD);}// Output:// five// six// seven// eight// nine


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.