CodeContracts: Boolesche Bedingung ergibt einen konstanten Wert. Warum?
Ich bekomme diese Warnung, kann das Problem aber nicht herausfinden ...
CodeContracts: Warnung: Die Boolesche Bedingung d1.Count! = D2.Count wird immer zu einem konstanten Wert ausgewertet. Wenn es (oder seine Negation) im Quellcode erscheint, haben Sie möglicherweise einen toten Code oder eine redundante Prüfung
Der Code lautet wie folgt:
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;
}
Das// Equality check goes here
Teil kann unverändert sein oder durch @ ersetzt werd eine ordnungsgemäße Umsetzung und ich bekomme immer noch die gleiche Warnung.