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

dan*_*mal 0 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;
    }
});
Run Code Online (Sandbox Code Playgroud)

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

Bol*_*ock 10

粗略搜索给定代码清单中注释中的文本会导致本文第9篇文章.此语句有两次出现,其中一个使用正确的语法呈现相同的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;
    }

});
Run Code Online (Sandbox Code Playgroud)

因此,很明显,你所看到的是所述文章作者的一部分错字.

AFAIK,没有合法的C#构造,由字符组成=],按顺序,甚至占空白.在您的特定示例中,它绝对是语法错误.

  • @Chris:我想知道同样的事情.这里的不同之处在于拼写错误来自作者控制之外的外部来源; 这不是作者在撰写问题时犯的错误. (4认同)
  • @BoltClock:这不应该作为offtopic/typo关闭吗?我问,因为你似乎是一个mod并且期望你这样做而不是回答...... (2认同)
  • 另外,随意把它带到元; 我想看看整个社区对此的看法. (2认同)
  • 我没有足够的把它带到Meta(特别是考虑到它已经关闭,所以我认为不再需要这样做了).我个人对非主题/错字的看法是,如果根本原因是一个错字,那么这个问题就没那么毫无意义了.所以在这种情况下,在c#中询问"what = ="是一个毫无意义的问题,因为c#中不存在该语法.并且有很多问题可能会询问=>是什么意思已经如此,一旦错字被识别,我觉得它不会增加太多.有人说过,我很高兴它在这里有一个可接受的答案.:) (2认同)
  • @Chris:同意 - 回想起来,通过尝试运行它来确定这是否真的是法律语法本来是微不足道的. (2认同)