我遇到过一些我以前从未见过的语法;有人可以在下面的代码中解释第2行的语法,特别是=]
位吗?
//decide what to do with the response we get back from the bridge
client.UploadStringCompleted += (o, args) =] Dispatcher.BeginInvoke(() =]
{
try
{
ResponseTextBox.Text = args.Result;
}
catch (Exception ex)
{
ResponseTextBox.Text = ex.Message;
}
});
不幸的是,网络搜索似乎无法解析=]
,这让我试图找到解释感到沮丧!
答案 0 :(得分:10)
粗略搜索给定代码清单中评论中的文字会导致this Channel 9 article。此语句有两次出现,其中一个使用正确的语法=>
呈现相同的lambda表达式:
//decide what to do with the response we get back from the bridge
client.UploadStringCompleted += (o, args) => Dispatcher.BeginInvoke(() =>
{
try
{
ResponseTextBox.Text = args.Result;
}
catch (Exception ex)
{
ResponseTextBox.Text = ex.Message;
}
});
因此,很明显,您所看到的内容是该文章作者的一部分错字。
AFAIK,没有合法的C#构造,按照该顺序包含字符=]
,甚至会占空白。在您的特定示例中,它绝对是语法错误。