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 == string
和string.CompareTo(string) > 0
任何想法?div = '
Assert应该确保条件为TRUE。如果它为假,断言将失败。你想要的是断言它不相等。使用!=应该没问题。
如果条件为false,则触发断言。你把条件句倒了。在这里看到的:
http://msdn.microsoft.com/en-us/library/e63efys0.aspx