在excellent answer about starting a timer immediately,我可以看到下面的代碼:(_)=> DoWork();下劃線如何作爲匿名委託參數有效?
timer.Elapsed += timer_Elapsed;
ThreadPool.QueueUserWorkItem((_) => DoWork());
...
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
DoWork();
}
void DoWork() {
// etc...
}
我試了一下我自己,我碰到這條線,在這裏我想有在匿名委託建設一個錯字:
What?
|
V
ThreadPool.QueueUserWorkItem((_) => DoWork());
哪個隱藏規則在下一個匿名代理中將下劃線「_」作爲參數名稱可接受?
在一般情況下,可以將單個下劃線作爲參數名稱的相同規則? '_'是C#中的有效標識符。 – 2015-02-06 10:13:24
我不知道這一點,我很驚訝...感謝您指出這一點。 – Larry 2015-02-06 10:17:49
我想標記爲[this]的副本(http://stackoverflow.com/questions/950616/what-characters-are-allowed-in-c-sharp-class-name),但我不想Mjolnir它,所以這是我的投票。 – Rawling 2015-02-06 10:22:18