首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该使用什么来比较DBNull?使用DBNull.Value或ToString().IsNullOrEmpty()

我应该使用什么来比较DBNull?使用DBNull.Value或ToString().IsNullOrEmpty()
EN

Stack Overflow用户
提问于 2010-08-03 14:06:24
回答 3查看 17K关注 0票数 25

我可以使用任何方法检查数据行上的DBnull

通过使用

代码语言:javascript
复制
if(dr[0][0]==DBNull.Value)
//do somethin

或者通过做

代码语言:javascript
复制
if(dr[0][0].ToString().IsNullOrEmpty())
//do something

在这两种情况下,我都会得到相同的结果。

但是哪种方法是正确的呢?这将使用更少的资源

EN

回答 3

Stack Overflow用户

发布于 2010-08-03 14:10:59

从概念上讲,与DBNull.Value的比较是正确的。

您还可以使用:

代码语言:javascript
复制
if (Convert.IsDBNull(dr[0]))
{
}

你也可以使用,我并不喜欢,纯粹是因为它是类型比较而不是值比较:

代码语言:javascript
复制
if (dr[0] is DBNull)
{
}
票数 9
EN

Stack Overflow用户

发布于 2010-08-04 18:07:58

总是使用:

代码语言:javascript
复制
dr[0].IsNull(0) 

假设此函数的创建者知道比较的最佳方式/最有效的方式。

票数 1
EN

Stack Overflow用户

发布于 2017-01-06 03:09:59

最简单的方法

代码语言:javascript
复制
if (dr[0][0] == DBNull.Value)
//do somethin

是完全有效和可读的。

即使==比较引用,它在这里也是有效的,因为DBNUll.Value is the only instance of DBNull class -所以所有的DBNull值实际上都是这个精确的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3393958

复制
相关文章

相似问题

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