首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL Server中IsNull()函数的C#等效项

SQL Server中IsNull()函数的C#等效项
EN

Stack Overflow用户
提问于 2008-10-03 22:59:18
回答 10查看 206.4K关注 0票数 120

在SQL Server中,可以使用IsNull()函数检查某个值是否为null,如果是,则返回另一个值。现在我想知道在C#中是否有类似的东西。

例如,我想要这样做:

代码语言:javascript
复制
myNewValue = IsNull(myValue, new MyValue());

而不是:

代码语言:javascript
复制
if (myValue == null)
  myValue = new MyValue();
myNewValue = myValue;

谢谢。

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2008-10-03 23:01:24

它被称为空合并(??)运算符:

代码语言:javascript
复制
myNewValue = myValue ?? new MyValue();
票数 220
EN

Stack Overflow用户

发布于 2008-10-04 00:20:57

遗憾的是,没有与使用DBNull的空合并运算符等效的运算符;为此,需要使用三元运算符:

代码语言:javascript
复制
newValue = (oldValue is DBNull) ? null : oldValue;
票数 14
EN

Stack Overflow用户

发布于 2015-07-02 23:34:09

代码语言:javascript
复制
public static T isNull<T>(this T v1, T defaultValue)
{
    return v1 == null ? defaultValue : v1;
}

myValue.isNull(new MyValue())
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/169217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档