Я получаю это предупреждение, но не могу понять проблему...
CodeContracts: warning: Булевское условие d1.Count != d2.Count всегда оценивает постоянное значение. Если это (или его отрицание) появляются в исходном коде, у вас может быть какой-то мертвый код или избыточный проверить
Код выглядит следующим образом:
public static bool DictionaryEquals<TKey, TValue>(IDictionary<TKey, TValue> d1, IDictionary<TKey, TValue> d2)
{
if (d1 == d2) return true;
if (d1 == null || d2 == null) return false;
if (d1.Count != d2.Count) return false; // <-- warning here
// Equality check goes here
return true;
}
Часть // Equality check goes here
может быть как есть или заменена на правильную реализацию, и я все равно получаю то же предупреждение.