Может ли кто-нибудь представить какие-либо идеи, почему мой нулевой чек неправильно оценивается?null == null возвращает false?
Следует также указать, что если i не является нулевым, оценка правильная. Я не уверен, что еще нужно, но дайте мне знать, какие другие детали мне нужно предоставить.
foreach (var item in selectedItems)
{
var i = inspectionItems.Keys.SingleOrDefault(x => x.InspectionItemId == item.InspectionItemId);
if (i != null)
{
// Process i
}
else
{
// create
}
}
Не спрашивать очевидное; но вы очистили и перестроили, чтобы не осталось никаких лишних символов отладки? Такое поведение кажется очень странным. – BradleyDotNET
@BradleyDotNET, после очистки и восстановления, странное поведение сохраняется. –
Есть ли какая-либо специальная перегрузка оператора, определенная для '=='? Что возвращает 'Object.Equals (i, null)'? Пожалуйста, покажите определение класса/структуры для 'i'. –