Oracle PL / SQL COALESCE函数的C#等效项是什么?

时间:2020-03-05 18:47:14  来源:igfitidea点击:

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

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

或者更笼统地说,

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

解决方案

回答

这 ??操作员。

string a = nullstring ?? "empty!";

回答

正如达伦·科普所说。

陈述

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

可以这样写:

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

换句话说:

var a = b ?? c;

相当于

var a = b != null ? b : c;