.我目前正在这样做: I am pulling varchar va..."> .我目前正在这样做: I am pulling varchar va..." /> .我目前正在这样做: I am pulling varchar va..." />
用户登录
用户注册

分享至

检查空值的最短方法,如果不是,则分配另一个值

  • 作者: 用户61562029
  • 来源: 51数据库
  • 2022-10-20

问题描述

我正在从数据库中提取 varchar 值并想设置 string 如果它们是 null 我将它们分配为">.我目前正在这样做:

I am pulling varchar values out of a DB and want to set the string I am assigning them to as "" if they are null. I'm currently doing it like this:

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

似乎应该有一种方法可以在一行中执行此操作,例如:

There seems like there should be a way to do this in a single line something like:

this.approved_by = "" || planRec.approved_by.toString();

但是我找不到最佳方法来做到这一点.有没有更好的方法或者我有什么最好的方法来做到这一点?

However I can't find an optimal way to do this. Is there a better way or is what I have the best way to do it?

推荐答案

试试这个:

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

您也可以像其他人所说的那样使用空合并运算符 - 因为没有人给出适用于您的代码的示例,这里是一个:

You can also use the null-coalescing operator as other have said - since no one has given an example that works with your code here is one:

this.approved_by = planRec.approved_by ?? planRec.approved_by.toString();

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

But this example only works since a possible value for this.approved_by is the same as one of the potential values that you wish to set it to. For all other cases you will need to use the conditional operator as I showed in my first example.

软件
前端设计
程序设计
Java相关