不是本人所寫!網路收集 C 中的匿名函數和Lamda是很有意思的東東,那麼我們就來介紹一下,這到底是什麼玩意,有什麼用途了? 1. 打開visual studio 新建一個控制台程式. 2. 我們利用委托來寫一個匿名函數. 代碼如下圖. 3. 我們再來用lambda表達式寫一次一模一樣的功能. 委托 ...
不是本人所寫!網路收集
C#中的匿名函數和Lamda是很有意思的東東,那麼我們就來介紹一下,這到底是什麼玩意,有什麼用途了?
打開visual studio 新建一個控制台程式.
我們利用委托來寫一個匿名函數.
代碼如下圖.
我們再來用lambda表達式寫一次一模一樣的功能.
委托_演算法 演算法 = (double 參數一, double 參數二) => { Console.WriteLine("{0}{1}={2}", 參數一, 參數二, 參數一 參數二); };
演算法(5,2);
Console.ReadKey();
一般我們學習C#的時候,說到匿名函數的時候都會談到lambda表達式.
其實lambda表達式就是匿名函數更為簡潔的一種寫法.
通俗點講,你需要寫一個函數,但是懶得給它起名字,而且懶得寫那麼多封裝和類.並且可能就這個地方調用,其他地方幾乎不調用這段代碼,那麼我就可以用這個來搞定.這個概念是來自函數式編程.這幾年貌似挺流行的,很多語言都加入了這個功能.
委托1 局_委托1 = () => { };
第一個等號後面的()裡面應該是放參數,但是因為我們上面聲明的委托裡面沒有參數,所以這裡也不寫參數.
第二個等號+大於號後面的{}裡面放的就是函數的實現過程.
lambda就是簡化了的匿名函數.
第二種lambda表達式.
委托2 局_委托2 = (string name) => { };
第三種 lambda表達式.
委托3 局_委托3 = (string name) => { return name+"是個大傻B"; };
Console.WriteLine(局_委托3("小豬"));
Console.ReadKey();
註意事項
匿名函數的參數和返回值必須要和委托一樣.