这是我在这里的第一个问题。我在 C# 中遇到了这样的方法:
void Do(string action!) { ... }
Run Code Online (Sandbox Code Playgroud)
不要明白!后面action是什么,它确实如此。你能帮我理解一下吗?
Maj*_*vin 11
这被命名为 bang 运算符!,它可以位于参数列表中的任何标识符之后,这将导致C#编译器为该参数发出标准的空检查代码。例如:
void Do(string action!) { ... }
Run Code Online (Sandbox Code Playgroud)
将被翻译成:
void Do(string action!) {
if (action is null) {
throw new ArgumentNullException(nameof(action));
}
...
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,目前此功能尚不可用。您可以在这里找到更多信息。
| 归档时间: |
|
| 查看次数: |
2438 次 |
| 最近记录: |