c# & # 39; string.Equals& # 39;返回错误的结果

本文关键字:结果 错误 string Equals 返回 | 更新日期: 2023-09-27 18:18:17

第一次贴海报所以如果我的格式不好请原谅我:)

我正在使用XNA在c#中开发我的游戏引擎,但是当我检查新节点与现有节点的名称时,即使列表中没有匹配的名称,Assert也会不可预测地触发。下面是我引用的代码:

    public void CheckNameIsUnique(string cName)
    {
        for (int i = 0; i < m_aNodeList.Count; ++i)
        {
            Debug.Assert(m_aNodeList[i].GetName().Equals(cName),
                "USE OF NON-UNIQUE NAME: " + cName);
        }
    }

assert将触发-例如-当检查时,"box1"和列表中唯一的节点名称为"RootNode"。

我得到同样不可预测的结果使用:string == stringstring.CompareTo(string) > 0

任何想法?div = '

Assert应该确保条件为TRUE。如果它为假,断言将失败。你想要的是断言它不相等。使用!=应该没问题。

c# & # 39; string.Equals& # 39;返回错误的结果

如果条件为false,则触发断言。你把条件句倒了。在这里看到的:

http://msdn.microsoft.com/en-us/library/e63efys0.aspx