第一次发布海报,请原谅我,如果我的格式是关闭或其他任何事情:)
我正在使用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);
}
}
断言将触发 - 例如 - 在检查时,“box1”,列表中唯一的节点名称为“RootNode”。
我使用以下方法获得相同的不可预测的结果:
string == string
和string.CompareTo(string) > 0
有什么想法吗? = \
答案 0 :(得分:8)
Assert应该确保条件为TRUE。如果它为假,则断言将失败。 你想要的是断言它不相等。使用!=它应该没问题。
答案 1 :(得分:3)
如果条件为 false ,则会触发断言。你有条件的倒退。见这里: