如果 ?? 运算符的左操作数非 null,该运算符将返回左操作数,否则返回右操作数。
int? nVal1 = null; int? nVal2 = 5; // nVal1为空,相乘后还是null,输出0作为默认值 Console.WriteLine(2 * nVal1 ?? 0); // nVal2非空,取计算值输出,输出10 Console.WriteLine(2 * nVal2 ?? 0);
如果 ?? 运算符的左操作数非 null,该运算符将返回左操作数,否则返回右操作数。
int? nVal1 = null; int? nVal2 = 5; // nVal1为空,相乘后还是null,输出0作为默认值 Console.WriteLine(2 * nVal1 ?? 0); // nVal2非空,取计算值输出,输出10 Console.WriteLine(2 * nVal2 ?? 0);