是否有一个语句或一行方式来完成这样的事情,其中字符串s被声明并且在表达式中分配了第一个非空值?
//pseudo-codeish
string s = Coalesce(string1, string2, string3);
或者更一般地说,
object obj = Coalesce(obj1, obj2, obj3, ...objx);
答案 0 :(得分:14)
Darren Kopp说道。
您的陈述
object obj = Coalesce(obj1, obj2, obj3, ...objx);
可以这样写:
object obj = obj1 ?? obj2 ?? obj3 ?? ... objx;
用其他的话来说:
var a = b ?? c;
相当于
var a = b != null ? b : c;
答案 1 :(得分:2)
?? 运算符。
string a = nullstring ?? "empty!";