匿名委託Lambda表示式

2021-08-01 13:55:47 字數 1137 閱讀 3222

// 2種形式都是宣告委託的形式

// 2.0以前 c# 命名方法是宣告委託的唯一方法  c# 2.0 之後引入匿名方法

// c#3.0以及更高版本中 使用lambda表示式 取代了匿名方法 作為編寫內聯**的首選方式

// 匿名方法

delegate void anonymity(int x);

anonymity m_anonymity = delegate (int x) ;

// lambda表示式 作用用於匿名函式一樣,僅僅是語法不同

delegate bool delelambda(int x, int y);

delegate int delelambda_a(int x);

delegate void delelambda_b();

delegate void delelambda_c();

private void start()

m_anonymity(11);

// 1.拉姆達表示式

// <1> 括號中的2個或更多的引數 使用逗號分隔

delelambda m_delelambda = (x, y) => x == y;

bool isequal = m_delelambda(3, 3);

debug.log(isequal);

// <2> 如果lambda 表示式僅有乙個引數的時候 可以省略括號

delelambda_a m_delelambda_a = y => y + 3;

int result = m_delelambda_a(3);

debug.log(result);

// <3> 無引數的情況 使用空括號表示

delelambda_b m_delelambda_b = () => somefunc();

m_delelambda_b();

// 語句lambda

delelambda_c m_delelambda_c = () => ;

m_delelambda_c();

void somefunc() {

debug.log("delelambda_b");

void somefunc_b(int i) {

debug.log("i=" + i);

匿名委託與Lambda表示式

通過使用匿名委託 匿名方法 使程式設計變得更加靈活,有關委託與匿名委託請參考我的前一篇blog 委託與匿名委託 繼續之前示例,如下 static void main string args worker worker new worker int result worker.handletwonum...

Lambda表示式 匿名方法 委託

lambda表示式 匿名方法 委託 16 9 2017 代替匿名方法的簡單演示 using system using system.collections.generic using system.linq using system.text using system.threading.tasks...

委託 匿名方法 lambda表示式

使用delegate的時候很多時候沒必要使用乙個普通的方法,因為這個方法只有這個delegate會用,並且只用一次,這時候使用匿名方法最合適。匿名方法就是沒有名字的方法。mydelegate p delegate int s 在il中編譯器是給匿名方法生成了名字的 actiona1 delegate...