C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 如何可靠地检查可空属性是否包含数据? DBNull正在杀了我大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经开始使用Rob Conery的Massive了.令人敬畏的小“ORM”,非常高效.但是,我在可空字段上遇到System.DBNull比较问题.

例如,我想检查属性是否与另一个属性匹配(在此示例中为long类型)

if (obj.MemberId == otherObj.MemberId) return true;

抛出异常:运算符’==’不能应用于’System.DBNull’和’long’类型的操作数.在这种情况下,obj.MemberId为null(更具体地说,DBNull).

好的,所以我先检查一下它的DBNull.Value是否正确?像这样:

if (obj.MemberId != DBNull.Value)
    return obj.MemberId == otherObj.MemberId;

酷,这是有效的,至少在obj.MemberId是DBNull时,但是当它不是(包含一个long)时,另一个例外:运算符’!=’不能应用于’long’和’System.DBNull’类型的操作数.

DBNull正在杀了我.如何可靠地检查可空属性是否不包含数据?

解决方法

您是否尝试使用is运算符?

if (obj.MemberId is DBNull)
{
    // it is null
    return false;
}
else
{
    // has some value
    return obj.MemberId == otherObj.MemberId;
}

大佬总结

以上是大佬教程为你收集整理的c# – 如何可靠地检查可空属性是否包含数据? DBNull正在杀了我全部内容,希望文章能够帮你解决c# – 如何可靠地检查可空属性是否包含数据? DBNull正在杀了我所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: