Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ()=>;的用途是什么;在银光下_C#_Silverlight - Fatal编程技术网

C# ()=>;的用途是什么;在银光下

C# ()=>;的用途是什么;在银光下,c#,silverlight,C#,Silverlight,你能说出()=>和=>的用法吗?我在代码中看到了这一点。我没有得到这方面的任何参考资料 this.Dispatcher.BeginInvoke(()=> { //some thing.. }; 它是一个没有参数的符号。这个符号是一个不带参数的符号。如果lambda表达式使用参数,它们将在空括号中声明,例如 this.Dispatcher.BeginInvoke((x,y)=>{dosome'与x和/或y},12,somevar) 简而言之,lambda表达式允许在需要的地方创建“

你能说出
()=>
=>
的用法吗?我在代码中看到了这一点。我没有得到这方面的任何参考资料

this.Dispatcher.BeginInvoke(()=>
{
    //some thing..
};

它是一个没有参数的符号。

这个符号是一个不带参数的符号。如果lambda表达式使用参数,它们将在空括号中声明,例如

this.Dispatcher.BeginInvoke((x,y)=>{dosome'与x和/或y},12,somevar)

简而言之,lambda表达式允许在需要的地方创建“无名”函数。
在问题的示例中,BeginInvoke()方法要求其第一个参数为委托(“指向方法的指针”),这正是lambda表达式提供的

=>
是C#中的数字,读作“转到”。lambda表达式是一个匿名函数,可用于创建委托

您的示例不接受lambda运算符前面的空参数指示的参数。带有一个参数的lambda表达式可能如下所示:

n => n.toString()
该表达式将在调用时返回
n
的字符串表示形式。lambda表达式也可以有多个参数,包含在括号中:

(n, f) => n.toString(f)
常用于
Func

Func getString=n=>n.toString();
int num=7;
字符串numString=getString(num);
当然,这是一个愚蠢的例子,但希望有助于说明它的用法。

查看此页面

如果没有任何参数,如我们的示例中所示,则使用empty 妄想症:

()=>{…}

Func<int, string> getString = n => n.toString();
int num = 7;
string numString = getString(num);