gpt4 book ai didi

c# - CodeContracts : Boolean condition evaluates to a constant value, 为什么?

转载 作者:可可西里 更新时间:2023-11-01 08:47:50 27 4
gpt4 key购买 nike

我收到此警告但无法找出问题...

CodeContracts: warning: The Boolean condition d1.Count != d2.Count always evaluates to a constant value. If it (or its negation) appear in the source code, you may have some dead code or redundant check

代码如下:

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我仍然收到相同的警告。

最佳答案

这只是代码契约中的一个错误。很容易编造使该条件为真或假的输入。警告是假的。

根据个人经验,我知道 CC 中的错误并不少见。

如何修复?由于这是一个错误,因此没有官方/预期的行动方案。报告错误。调整代码直到警告消失(例如,尝试 ReferenceEquals 无论如何这是更好的样式)。抑制警告。诸如此类。

关于c# - CodeContracts : Boolean condition evaluates to a constant value, 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28452850/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com