我最近在这里问了一个问题,有人提供了这样的答案:
private void button1_Click(object sender, EventArgs e)
{
var client = new WebClient();
Uri X = new Uri("http://www.google.com");
client.DownloadStringCompleted += (s, args) => //THIS, WHAT IS IT DOING?
{
if (args.Error == null && !args.Cancelled)
{
MessageBox.Show();
}
};
client.DownloadStringAsync(X);
}
那=>在做什么?这是我第一次看到这个。
这就是 lambda 运算符。您定义一个带有两个参数 (s, args)(省略类型说明符)的匿名函数,并且该函数的主体是出现在 => 符号之后的内容。
它在概念上与此相同:
...
client.DownloadStringCompleted += Foo;
}
void Foo(object sender, EventArgs args)
{
if (args.Error == null && !args.Cancelled)
{
MessageBox.Show();
}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)