मैं इस चेतावनी हो रही है, लेकिन समस्या को समझ नहीं सकता ...कोडकंट्रैक्ट्स: बूलियन की स्थिति निरंतर मूल्य का मूल्यांकन करती है, क्यों?
CodeContracts: चेतावनी: बूलियन हालत 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
हिस्सा हो सकता है , या a proper implementation द्वारा प्रतिस्थापित किया गया है और मुझे अभी भी वही चेतावनी मिलती है।
लगता है कि '(डी 1 == डी 2)' को ऑब्जेक्ट में बदला जाना चाहिए। संदर्भ इक्वल्स (डी 1, डी 2) ' –
@DmitryBychenko वही काम करता है। 'IDictionary' के लिए कोई ओवरलोडेड ऑपरेटर नहीं है। –
hvd
@hvd आप इंटरफेस –