我刚刚尝试了以下方法,其想法是将两个字符串连接起来,用一个空字符串代替空值。
string a="Hello";
string b=" World";
- 调试(有趣的是?是打印,并不完全有助于可读性......)
? a ?? "" + b ?? ""
->“你好”
正确的是:
? (a??"")+(b??"")
"Hello World"
我有点期待“Hello World”,或者如果 a 为空,则只是“World”。显然,这与运算符优先级有关,可以用括号来克服,是否有任何地方记录了这个新运算符的优先级顺序。
(意识到我可能应该使用 stringbuilder 或 String.Concat)
谢谢。