我有一个问题,就是在更改类型(在本例中为int)之后,比较值不起作用:

在我看来(请参阅调试器),_pkValue和_defaultValue都是具有相同值的integers。
问题是,不应该输入if语句,因为这两个值都是0.
我相信这是一件很简单的事,但我想不出来。
编辑:代码
object pkVal = pks.First().Value.GetValue(this, null);
if (pkVal != null)
{
var defaultValue = TypeHelper.GetDefaultValue(pkVal.GetType());
var _pkValue = Convert.ChangeType(pkVal, pkVal.GetType());
var _defaultValue = Convert.ChangeType(defaultValue, pkVal.GetType());
if (_pkValue != _defaultValue)
{
canset = false;
}
}溶液
object pkVal = pks.First().Value.GetValue(this, null);
if (pkVal != null)
{
var defaultValue = Simplic.TypeHelper.GetDefaultValue(pks.First().Value.PropertyType);
if (!pkVal.Equals(defaultValue))
{
canset = false;
}
}谢谢!
https://stackoverflow.com/questions/28938800
复制相似问题