我得到了value1,value2当它们应该是相同时,它们都是零并且不相等.
我怎么能比较这两个对象的值?
private bool CheckProjectIsUnique(
TBR.Domain.Project project,
List<UniqueProjectType> types,
out UniqueProjectType uniqueCandidate)
{
uniqueCandidate = CreateUniqueProjectType(project);
if (types.Count == 0)
return true;
foreach (UniqueProjectType type in types)
{
bool exists = true;
foreach (PropertyInfo prop in type.GetType().GetProperties())
{
var value1 = prop.GetValue(type, null);
var value2 = prop.GetValue(uniqueCandidate, null);
if (value1 != value2)
{
exists = false;
break;
}
}
if (exists)
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
Mig*_*gol 14
它们是对象,因此您应该使用value1.Equals(value2)检查是否value1不是null
编辑:更好:使用静态Object.Equals(value1, value2)(@LukeH的信用)