什么是Oracle PL / SQL COALESCE函数的C#等价物?

时间:2008-09-03 19:40:25

标签: c# oracle coalesce

是否有一个语句或一行方式来完成这样的事情,其中​​字符串s被声明并且在表达式中分配了第一个非空值?

//pseudo-codeish
string s = Coalesce(string1, string2, string3);

或者更一般地说,

object obj = Coalesce(obj1, obj2, obj3, ...objx);

2 个答案:

答案 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!";