我可以使用任何方法检查数据行上的DBnull
。
通过使用
if(dr[0][0]==DBNull.Value)
//do somethin
或者通过做
if(dr[0][0].ToString().IsNullOrEmpty())
//do something
在这两种情况下,我都会得到相同的结果。
但是哪种方法是正确的呢?这将使用更少的资源
发布于 2010-08-03 14:10:59
从概念上讲,与DBNull.Value
的比较是正确的。
您还可以使用:
if (Convert.IsDBNull(dr[0]))
{
}
你也可以使用,我并不喜欢,纯粹是因为它是类型比较而不是值比较:
if (dr[0] is DBNull)
{
}
发布于 2010-08-04 18:07:58
总是使用:
dr[0].IsNull(0)
假设此函数的创建者知道比较的最佳方式/最有效的方式。
发布于 2017-01-06 03:09:59
最简单的方法
if (dr[0][0] == DBNull.Value)
//do somethin
是完全有效和可读的。
即使==
比较引用,它在这里也是有效的,因为DBNUll.Value
is the only instance of DBNull
class -所以所有的DBNull
值实际上都是这个精确的引用。
https://stackoverflow.com/questions/3393958
复制相似问题