我正在从数据库中拉出varchar值,并想将我将它们分配给的string设置为“”(如果它们是null)。我目前正在这样做:

if (string.IsNullOrEmpty(planRec.approved_by) == true)
  this.approved_by = "";
else
  this.approved_by = planRec.approved_by.toString();

似乎应该有一种方法可以像这样:
this.approved_by = "" || planRec.approved_by.toString();

但是,我找不到实现此目的的最佳方法。有没有更好的方法,或者我有最好的方法吗?

最佳答案

尝试这个:

this.approved_by = IsNullOrEmpty(planRec.approved_by) ? "" : planRec.approved_by.toString();

您也可以使用其他人所说的null-coalescing运算符-因为没有人提供与您的代码一起使用的示例,所以这里是一个:
this.approved_by = planRec.approved_by ?? planRec.approved_by.toString();

但是此示例仅适用,因为this.approved_by的可能值与您希望将其设置为的可能值之一相同。对于所有其他情况,您将需要使用我在第一个示例中所示的条件运算符。

10-04 18:48