2011-12-20 2 views
2

처음 포스터 그래서 내 서식이 꺼져있는 경우 용서해주세요 :)C# 'string.Equals'가 잘못된 결과를 반환합니까?

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 == stringstring.CompareTo(string) > 0

어떤 아이디어 :

나는 같은 예측할 수없는 결과를 사용하여 얻을? = \

답변

8

어설는 조건이 참인지 확인하기로되어있다. false 인 경우 assert가 실패합니다. 당신이 원하는 것은 그것이 동일하지 않다는 것을 주장하는 것입니다. ! =를 사용하면 괜찮을 것입니다.

+0

아 감사합니다. –

+0

내가 마지막 코멘트를 할 때 서둘러서, 조금 더 정교하기 위해, Assert의 나의 사용법을 지적했을 때 나는 아주 어리 석었다. 나는 하루 종일 성공적으로 사용 했으므로.> 나는 추측한다. 내 뇌는 그곳에 잠시 머물렀다. 다시 한번, 많은 감사합니다. –

+0

나는 적절한 시간에 휴식을 취하는 것도 우리가 배울 필요가있는 스킬이라고 생각한다. :) 다행이 당신을 도왔습니다. – Yaron

관련 문제