在数据集中查找空值 - DataRow.IsNull方法vs == DbNull.Value - c#
使用c#方法DataRow.IsNull确定空值是否超过检查行是否等于DbNull.value有什么好处?
if(ds.Tables[0].Rows[0].IsNull("ROWNAME")) {do stuff}
VS
if(ds.Tables[0].Rows[0]["ROWNAME"] == DbNull.value) {do stuff}
没有找到相关结果
已邀请:
5 个回复
郡晒景沧
查询列中特定记录的空状态。使用ѭ3实际上检索值并在它实际为空的情况下进行替换。换句话说,
检查状态而不实际检索该值,因此稍微快一些(理论上至少)。 理论上,如果你要使用自定义存储类型,列可以返回除
以外的其他值,但是这从未完成(根据我的经验)。如果是这种情况,
将处理存储类型使用除
以外的其他情况的情况,但是,再次,我从未见过这样做。
芭隘的盘石
DBNull.Value代表值为
的列。 弹出一个表并返回一些行,查看任何行中的任何列是否包含
(ctrl 0)值。如果你看到一个等同于DBNull.Value的。 如果您将值设置为null或DBNull.Value,那么您将需要使用
。 如果值为null或DBNull.Value,则返回true。考虑以下:
//返回true
//返回false
//返回true 关键是如果您只是检查null或DBNull.Value使用IsNull,如果您只是检查DBNull.Value明确说出并使用它。
掏得透垦滩
链眷克袒姜
—避免不得不处理DB的可空性......或者至少将它推迟一点B ^)。这是我的
和
方法:
用法非常简单。您只需要事先说明您的期望。
我试图使它们通用,但没有骰子,除非我愿意将数据库中的NULL与类型的默认值(例如,0表示数字类型)相关联,我不是。
耐钨徒