if(setting.ConvertedValue.Equals(m_MatchingModules[i].Group[j]))
{
}
我正在研究一个项目,如果值相等,我需要检查上面的代码。我从不输入if
声明。我的ConvertedValue
变量的类型为Object
,而Group
是Int
的列表。我在调试器中看到两个值都相等但是.Equals
找不到它们。
答案 0 :(得分:1)
public override bool Equals(object obj)
{
Test test = obj as Test;
if (obj == null)
{
return false;
}
return Value == test.Value &&
String1 == test.String1 &&
String2 == test.String2;
}
答案 1 :(得分:0)
尝试使用==代替。 Equals用于检查对象相等性,如果类型不同,则返回false,即使值类型与值类型相同。
someInt.Equals(someLong); // false
someInt == someLong; // true
答案 2 :(得分:0)
尝试使用ValueType.Equals方法。
if(ValueType.Equals(setting.ConvertedValue,m_MatchingModules[i].Group[j]))