91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中如何使用Lambda表達式

發布時間:2021-07-19 15:41:35 來源:億速云 閱讀:156 作者:Leah 欄目:編程語言

本篇文章為大家展示了C#中如何使用Lambda表達式,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

C# Lambda表達式

我們從“所有字符串查找包含YJingLee子字符串”說起。在C# 2.0中,匿名方法允許我們以內聯的方式來實現委托實例,它提供強大的函數式編程語言,但是標記顯得相當的冗長和帶有強制性。我們使用C# 2.0 中的匿名方法查找,代碼如下:

var inString = list.FindAll(delegate(string s)  { return s.Indexof("YJingLee") >= 0; });

現在可以使用C# 3.0帶來的Lambda表達式允許我們使用一種更接近人的思維、更自然的方式來實現類似于匿名方法同樣的效果,看下面的代碼多么簡潔:

var inString = list.FindAll(s => s.Indexof("YJingLee") >= 0);

Lambda表達式格式:(參數列表)=>表達式或語句塊
具體意義:定義Lambda接受參數列表,運行表達式或語句塊返回表達式或語句塊的值傳給這個參數列表。

C# ambda表達式參數類型可以是隱式類型或顯式類型。在顯式列表中,每個參數的類型是顯式指定的,在隱式列表中,參數的類型由Lambda表達式出現的語境自動推斷類型。
Lambda表達式的參數列表可以有一個或多個參數,或者無參數。在有單一的隱型參數的lambda表達式中,圓括號可以從參數列表中省略。
例如:

(x, y) => x * y;//多參數,隱式類型=>表達式  x => x * 10;//單參數,隱式類型=>表達式  x => { return x * 10; }; //單參數,隱式類型=>語句塊  (int x) => x * 10;//單參數,顯式類型=>表達式  (int x) => { return x * 10; };//單參數,顯式類型=>語句塊  () => Console.WriteLine(); //無參數

下面看這個例子:
在前面的帖子中,我們寫了一個User類及增加了2個人,接下來,我們使用由LINQ提供的新的Where和Average方法來返回集合中的人的一個子集,以及計算這個集合中的人的平均年齡:

List<User> user = new List<User>{  new User{Id=1,Name="YJingLee",Age=22},  new User{Id=2,Name="XieQing",Age=25},  };  //獲取特定人時所用的過濾條件,p參數屬于User類型  var results = user.Where(p => p.Name == "YJingLee").ToList();  //用User對象的Age值計算平均年齡  var average = user.Average(p => p.Age);

效果圖如下:

C#中如何使用Lambda表達式

對這個Lambda表達式做個簡要分析:

var resultsdelegate = user.Where(delegate(User p)  {  return p.Name == "YJingLee";// 返回一個布爾值  });  var averagedelegate = user.Average(delegate(User p)  {  return p.Age;  });

C#中如何使用Lambda表達式

C# Lambda表達式L可以被轉換為委托類型D,需要滿足以下條件:
L的參數類型要與D的參數個數相等,類型相同,返回類型相同,無論是表達式,還是語句塊。注意隱式類型要參與類型辨析。

上述內容就是C#中如何使用Lambda表達式,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨竹工卡县| 得荣县| 竹山县| 渭南市| 木里| 茌平县| 额尔古纳市| 翼城县| 桂平市| 新疆| 宁明县| 乌拉特前旗| 深水埗区| 潢川县| 麻栗坡县| 凉城县| 通许县| 会东县| 加查县| 乃东县| 汉阴县| 白水县| 旬阳县| 昌宁县| 碌曲县| 独山县| 通城县| 亳州市| 芮城县| 沿河| 利川市| 唐河县| 江阴市| 武清区| 玉门市| 获嘉县| 岫岩| 广安市| 中阳县| 江陵县| 读书|