有没有人喜欢如何检查一个值是DBNull什么?我发现这两个陈述给了我想要的结果,但只是想知道是否有偏好?
if (any is System.DBNull)
与...一样:
if (any == System.DBNull.Value)
谢谢!
Bil*_* Jo 11
我倾向于使用
if (DBNull.Value.Equals(value)) {
//
}
Run Code Online (Sandbox Code Playgroud)
要么
if (Convert.IsDBNull(value)) {
//
}
Run Code Online (Sandbox Code Playgroud)
is不像Kevlar623那样使用反射.它映射到isinstIL中的操作.在这个层面上,比较性能是完全愚蠢的,除非你正在研究导弹制导系统.
我用value is DBNull.这听起来是正确的,作为一个偏执的开发者,我不能相信存在的唯一价值DBNull.Value.虫子发生了.
if (any == System.DBNull.Value) ...
Run Code Online (Sandbox Code Playgroud)
我更喜欢那个,因为我把它理解为比较值,而不是类型。