相关疑难解决方法(0)

C#null-coalescing(??)运算符的运算符优先级是什么?

我刚试过以下内容,想法是连接两个字符串,用空字符串替换空值.

string a="Hello";
string b=" World";
Run Code Online (Sandbox Code Playgroud)

- 调试(有趣的是?是打印,并不完全有助于提高可读性......)

 ? a ?? "" + b ?? "" 
Run Code Online (Sandbox Code Playgroud)

- >"你好"

正确的是:

? (a??"")+(b??"")
"Hello World"
Run Code Online (Sandbox Code Playgroud)

我有点期待"Hello World",或者只是"世界",如果a为null.显然这是运算符优先级的todo,可以通过括号来克服,是否存在记录此新运算符的优先顺序的任何位置.

(意识到我应该使用stringbuilder或String.Concat)

谢谢.

c# null null-coalescing-operator

19
推荐指数
3
解决办法
5493
查看次数

标签 统计

c# ×1

null ×1

null-coalescing-operator ×1