【发布时间】:2025-03-22 16:25:02
【问题描述】:
在excellent answer about starting a timer immediately 中,我可以看到以下代码:
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# 中的有效标识符。 -
我不知道,我很惊讶...感谢您指出这一点。
-
我想标记为 this 的副本,但我不想 Mjolnir,所以这是我的投票。
标签: c# delegates anonymous-methods