C#中Lambda表達(dá)式的三種寫法
更新時(shí)間:2022年05月05日 08:30:24 作者:農(nóng)碼一生
這篇文章介紹了C#中Lambda表達(dá)式的三種寫法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
一、歷史版本
delegate void StudentDelegate(string name, int age);
public class LambdaTest
{
public void Show()
{
DateTime dateTime = DateTime.Now;
//歷史
//版本1
{
StudentDelegate student = new StudentDelegate(PrintStudent);
student("葛優(yōu)", 1);
}
}
}
public void PrintStudent(string name,int age)
{
Console.WriteLine($"我的名字是:{name},我的年齡是{age}");
}
二、版本二:訪問(wèn)局部變量
delegate void StudentDelegate(string name, int age);
public class LambdaTest
{
public void Show()
{
DateTime dateTime = DateTime.Now;
//版本2(這樣寫的話可以訪問(wèn)局部變量)
{
StudentDelegate student = new StudentDelegate( delegate (string name, int age)
{
Console.Write(dateTime);
Console.WriteLine($"我的名字是:{name},我的年齡是{age}");
});
student("王朝偉", 1);
}
}
}三、版本三: “=>”
delegate void StudentDelegate(string name, int age);
public class LambdaTest
{
public void Show()
{
DateTime dateTime = DateTime.Now;
//版本3(=>念成gose to)
{
StudentDelegate student = new StudentDelegate((string name, int age)=>
{
Console.Write(dateTime);
Console.WriteLine($"我的名字是:{name},我的年齡是{age}");
});
student("劉德華", 1);
}
{
Action action = () => Console.WriteLine("無(wú)返回值,無(wú)參數(shù)");
Action<DateTime> action1 = d => { Console.WriteLine( $"帶一個(gè)參數(shù):vvxyksv9kd"); };
action1(dateTime);
Action<DateTime, int> action2 = (d, i) => { Console.WriteLine( $"帶兩個(gè)參數(shù):{ d} ,{ i}"); };
action2(dateTime, 3);
Func<DateTime> func=()=>{ return DateTime.Now; };//帶返回值
DateTime dateTime1 = func();//調(diào)用Lambda獲取值
Console.WriteLine(dateTime1);
Func<DateTime> func2 = () => DateTime.Now;//帶返回值
Console.WriteLine(func2());
}
}
}以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#基于正則表達(dá)式實(shí)現(xiàn)獲取網(wǎng)頁(yè)中所有信息的網(wǎng)頁(yè)抓取類實(shí)例
這篇文章主要介紹了C#基于正則表達(dá)式實(shí)現(xiàn)獲取網(wǎng)頁(yè)中所有信息的網(wǎng)頁(yè)抓取類,結(jié)合完整實(shí)例形式分析了C#正則網(wǎng)頁(yè)抓取類與使用技巧,需要的朋友可以參考下2017-05-05
c#中Empty()和DefalutIfEmpty()用法分析
這篇文章主要介紹了c#中Empty()和DefalutIfEmpty()用法,以實(shí)例形式分析了針對(duì)不同情況下Empty()和DefalutIfEmpty()用法區(qū)別,需要的朋友可以參考下2014-11-11
Winform動(dòng)態(tài)加載TabControl用法實(shí)例
這篇文章主要介紹了Winform動(dòng)態(tài)加載TabControl用法,以實(shí)例形式詳細(xì)講述了Winform動(dòng)態(tài)加載TabControl的方法,在C#應(yīng)用程序開發(fā)中具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11
C#線程委托BeginInvoke與EndInvoke的用法
這篇文章介紹了C#線程委托BeginInvoke與EndInvoke的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
如何利用Jenkins + TFS為.Net Core實(shí)現(xiàn)持續(xù)集成/部署詳解
這篇文章主要給大家介紹了關(guān)于如何利用Jenkins + TFS為.Net Core實(shí)現(xiàn)持續(xù)集成/部署的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05

