Shortest way to check for null and assign another value if not(检查空值的最短方法,如果不是,则分配另一个值)
问题描述
我正在从数据库中提取 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.
这篇关于检查空值的最短方法,如果不是,则分配另一个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:检查空值的最短方法,如果不是,则分配另一个


- 在 C# 中异步处理项目队列 2022-01-01
- 使用 rss + c# 2022-01-01
- 带问号的 nvarchar 列结果 2022-01-01
- 在 LINQ to SQL 中使用 contains() 2022-01-01
- 是否可以在 .Net 3.5 中进行通用控件? 2022-01-01
- CanBeNull和ReSharper-将其用于异步任务? 2022-01-01
- 为什么 C# 中的堆栈大小正好是 1 MB? 2022-01-01
- C# 通过连接字符串检索正确的 DbConnection 对象 2022-01-01
- Windows 喜欢在 LINUX 中使用 MONO 进行服务开发? 2022-01-01
- Azure Active Directory 与 MVC,客户端和资源标识同一 2022-01-01