程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> c# 3.0 語言的新特性(三)

c# 3.0 語言的新特性(三)

編輯:.NET實例教程

Lambda表達式
 

    C# 2.0提供了匿名方法,允許delegate中的代碼塊以“in-line”方式進入執行的確代碼中,在3.0中的Lambda表達式提供了更簡練的表達方式,為LINQ表達式的使用提供了語法的基礎。Lambda表達式是以=>為關鍵字的,請看下面的例子:

var aNumbers = new[] { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

 

            var aLowThanFive = aNumbers.Where(i => i < 5);

 

            foreach (var v in aLowThanFive)

            {

                Console.WriteLine(v);

      }

執行結果是:4,1,3,2,0

含義是從數組中選擇小於5的數。其中I => I < 5相當於Lambda表達式。

它執行時轉化為下列的結構:

var aLowThanFive = aNumbers.Where(

                delegate(int i)

                {

                    return i < 5;

                }

         );

而aNumbers.Where就是前面提到的擴展方法,很熟悉吧,delegate就是匿名方法。

 

再看一個例子:

List<Person> objList = new List<Person>

            {

              

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved