我有一个返回对象的方法,该对象可以是多种不同数据类型之一,包括字符串、数字和布尔值;在某些时候我需要比较从这个方法返回的两个值的相等性。我使用==
而不是Equals()
因为我需要不同的数字类型来比较 - 即。3 == 3.0
- 这适用于字符串和数字,但由于某种原因,当我比较布尔值时它会下降。
解决这个问题的最佳方法是什么?我宁愿不必检测类型并强制转换为 bool,但如果没有其他解决方案我会这样做
我的代码看起来像:
private object GetValue() {
// does some stuff, returns either a boolean, string or number value
}
var value1 = GetValue();
var value2 = GetValue();
if (value1 == value2) {
// do something
}