Что такое эквивалент C # функции Oracle PL / SQL COALESCE? - PullRequest
5 голосов
/ 03 сентября 2008

Существует ли один оператор или однострочный способ для достижения чего-то подобного, когда строка s объявляется И присваивается первое ненулевое значение в выражении?

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

или, в более общем смысле,

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

Ответы [ 2 ]

14 голосов
/ 03 сентября 2008

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

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

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

Можно записать так:

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

Другими словами:

var a = b ?? c;

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

var a = b != null ? b : c;
2 голосов
/ 03 сентября 2008

оператор ?? .

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