在C#中,=]是什么意思?

时间:2015-10-09 14:07:55

标签: c# semantics

我遇到过一些我以前从未见过的语法;有人可以在下面的代码中解释第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;
    }
});

不幸的是,网络搜索似乎无法解析=],这让我试图找到解释感到沮丧!

1 个答案:

答案 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#构造,按照该顺序包含字符=],甚至会占空白。在您的特定示例中,它绝对是语法错误。