Jar*_*rod 15 dbnull datarow isnull dataset c#-4.0
使用c#方法DataRow.IsNull确定空值是否超过检查行是否等于DbNull.value有什么好处?
if(ds.Tables[0].Rows[0].IsNull("ROWNAME")) {do stuff}
Run Code Online (Sandbox Code Playgroud)
VS
if(ds.Tables[0].Rows[0]["ROWNAME"] == DbNull.value) {do stuff}
Run Code Online (Sandbox Code Playgroud)
Ada*_*son 22
没有实际的实际好处.使用对您来说更具可读性的任何一个.
至于它们之间的特殊差异,基本答案是IsNull查询列中特定记录的空状态.使用== DBNull.Value实际检索值并在它实际为null的情况下进行替换.换句话说,IsNull检查状态而不实际检索该值,因此稍微更快(理论上至少).
理论上,如果您要使用自定义存储类型,列可能会返回除null值之外的其他内容DBNull.Value,但这从未完成(根据我的经验).如果是这种情况,IsNull将处理存储类型使用的东西以外的情况DBNull.Value,但是,再次,我从未见过这样做.
DBNull.Value != null
DBNull.Value代表具有该值的列<NULL>.弹出一个表并返回一些行,查看任何行中的任何列是否包含<NULL>(ctrl 0)值.如果你看到一个等同于DBNull.Value的.
如果您将值设置为null或DBNull.Value,那么您将要使用IsNull().如果值为null或DBNull.Value,则返回true.考虑以下:
row["myCol"] = null;
row["myCol"] = DBNull.Value
if (row["myCol"] == DBNull.Value) //返回true
if (row["myCol"] == null) //返回false
if (row.IsNull("myCol")) //返回true
关键是如果您只是检查null或DBNull.Value使用IsNull,如果您只是检查DBNull.Value明确说出并使用它.
| 归档时间: |
|
| 查看次数: |
26868 次 |
| 最近记录: |