2008-09-03 4 views
5

Есть ли один оператор или один способ линии для выполнения чего-то подобного, где объявлена ​​строка s И назначено первое ненулевое значение в выражении?Что такое эквивалент C# функции Oracle PL/SQL COALESCE?

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

или, в более общем случае,

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

ответ

2

?? оператора.

string a = nullstring ?? "empty!"; 
14

Как сказал Даррен Копп.

Ваше заявление

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

Может быть написан так:

object obj = obj1 ?? obj2 ?? obj3 ?? ... objx; 

поставить его другими словами:

var a = b ?? c; 

эквивалентно

var a = b != null ? b : c; 
Смежные вопросы