2015-10-09 92 views
0

我遇到過一些我從未見過的語法;有人可以在下面的代碼中解釋第2行的語法,特別是=]位?C#中的=]是什麼意思?

//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; 
    } 
}); 

不幸的是,網絡搜索似乎並不解析=],這是令人沮喪的我試圖找到一個解釋!

+2

這不是'''而是'>' –

+1

這個例子來自哪裏? –

+0

https://msdn.microsoft.com/en-us/library/bb397687.aspx RTM –

回答

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#構造,它由字符=]組成,即使是佔空白也是如此。在你的特定例子中,它絕對是一個語法錯誤。

+0

非常感謝。難怪我很困惑! – danabnormal

+2

@BoltClock:這不應該是offtopic/typo然後?因爲你似乎是一個國防部,並希望你這樣做,而不是放在一個答案... – Chris

+4

@Chris:我想知道同樣的事情tbh。這裏的區別是,錯字來自外部來源作者的控制;這是作者在撰寫他們的問題時所犯的錯誤 – BoltClock