Fur*_*ürk 3 c# .net-core c#-8.0
我只是想知道??=运算符如何在后台运行。我有两个问题。
考虑下面的例子,
string name = "John";
name ??= "George";
Run Code Online (Sandbox Code Playgroud)
1)是否等于name = name ?? "George";
2) 它是这样工作的吗,
if (name == null) {
name = "George";
}
Run Code Online (Sandbox Code Playgroud)
或者
if (name == null) {
name = "George";
}
else {
name = name;
}
Run Code Online (Sandbox Code Playgroud)
它将被评估为:
string text = "John";
if (text == null)
{
text = "George";
}
Run Code Online (Sandbox Code Playgroud)
您可以使用sharplab
来查看实际发生的情况:
更多信息:https : //stackoverflow.com/a/59300172/2946329
基于文档:
C# 8.0 引入了空合并赋值运算符 ??=。仅当左侧操作数的计算结果为 null 时,您才可以使用 ??= 运算符将其右侧操作数的值分配给其左侧操作数。
归档时间: |
|
查看次数: |
430 次 |
最近记录: |