你能說什麼是()=>
和=>
的用法?我在代碼中看到了這一點。我沒有得到任何參考。什麼是()=>在silverllight中使用
this.Dispatcher.BeginInvoke(()=>
{
//some thing..
};
你能說什麼是()=>
和=>
的用法?我在代碼中看到了這一點。我沒有得到任何參考。什麼是()=>在silverllight中使用
this.Dispatcher.BeginInvoke(()=>
{
//some thing..
};
這個符號是不帶參數的lambda expression。如果lambda表達式利用的論點,他們將在空集括號中的發言權的聲明...
this.Dispatcher.BeginInvoke((x, y) => { do some' with x and/or y }, 12, somevar);
概括地說,lambda表達式允許創建「無名」的功能,對他們在哪裏需要。
在這個問題的例子中,BeginInvoke()方法要求它的第一個參數是委託(一個「指向方法的指針」),這正是這個lambda表達式提供的。
這是一個lambda expression沒有參數。
=>
是C#中的lambda operator,讀作「轉至」。 lambda表達式是一個匿名函數,可用於創建委託。
您的示例不帶任何參數,如lambda運算符前面的空過濾器所示。有一個參數一個lambda表達式可能是這樣的:
n => n.toString()
該表達式將返回n
字符串表示,在被調用時。 lambda表達式可以有多個參數,以及,在括號:
(n, f) => n.toString(f)
一個常見的用途是在Func<T>
:
Func<int, string> getString = n => n.toString();
int num = 7;
string numString = getString(num);
這當然是一個愚蠢的例子,但希望幫助以說明其用途。
如果沒有任何參數,如在我們的例子中,使用空 paranthesis:
()=> {...}