【发布时间】:2012-07-24 18:39:09
【问题描述】:
我有以下:
string Name = name.First + " " + name.Last;
这返回 Tom Jones 就好了。
如果 name.First 可能为 null 或 name.Last 可能为 null,我有以下内容:
string SpeakerName = name.First ?? string.Empty + " " + name.Last ?? string.Empty;
奇怪的是它只返回Tom。为什么会这样,我该如何解决它,使if null 它默认为空字符串的名字或姓氏?
【问题讨论】:
-
搜索“运算符优先级”。
-
跟进hazzik:
null与+运算符一起使用时转换为“”,其中string的操作数表达式之一。例如name.First + " " + name.Last在这种情况下会产生相同的输出。同样,string.Format("{0} {1}", name.First, name.Last)也可以。但是,通常,"First "或" Last"或" "仍然不是所需的输出,因此可以查看 ;-)
标签: c# operator-precedence null-coalescing-operator