c#'string.Equals'返回错误的结果?

Kha*_*aki 2 c# assert

第一次海报,请原谅我,如果我的格式是关闭或任何东西:)

我正在使用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);
        }
    }
Run Code Online (Sandbox Code Playgroud)

断言将触发 - 例如 - 在检查时,"box1"并且列表中唯一的节点具有名称"RootNode".

我使用以下方法获得了相同的不可预测的结果: string == stringstring.CompareTo(string) > 0

有任何想法吗?= \

Yar*_*ron 8

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