2014-10-18 2 views
0

저는 C#의 초보자입니다. 문자열이 한 문자열 또는 다른 문자열 또는 다른 문자열과 같지 않은지 테스트하고 싶습니다. 논리 연산자 또는 ||을 시도했지만 작동하지 않습니다.어떻게 문자열을 다른 3 개의 문자열과 비교할 수 있습니까?

올바른 문자열을 입력해도 테스트는 항상 true입니다. 제안 사항은 언제든지 알려 주시면 감사하겠습니다.

여기가

if (!difficulty.Equals("Beginner") || !difficulty.Equals("Amateur") || !difficulty.Equals("Expert")) 
{ 
    // do something 
} 
+0

예를 들어 '어려움'의 가치는 무엇입니까? –

+1

왜 각 결과를 무시합니까? if (NOT EQ 또는 NOT EQ 또는 NOT EQ)입니다. 예 : A를 A B C로 테스트합니다. A는 무시 된 true = false입니다. 따라서 B와 C는 사실입니다. 당신은 어떤 것을 제거하고 싶을 것이다! 귀하의 코드입니다. 그러면 A = (A, B 또는 C) 인 경우 A 만 A와 일치하고 A는 B와 C가 일치하지 않기 때문이 아닙니다. –

+0

그러면 전체 결과를 부정 할 수 있습니다. if (! (A, B, ...)) - 또는 dotnetom이 말한 것을하십시오. 그것은 기본적으로 논리 문제입니다. –

답변

1

당신의 상태가 유효하지 않은 코드입니다 -이 유효 할 수있는 경우에만이 문자열은 물론 불가능 동시에, 모든 세 값의 경우입니다. 이 경우 (& &)를 사용할 필요가 있고 :

if (!difficulty.Equals("Beginner") && !difficulty.Equals("Amateur") && !difficulty.Equals("Expert")) 
{ 
    // do something 
} 
+0

나는 이것에 대해 전혀 생각하지 않았습니다. 정말로 꽤 논리적이다. 감사합니다 –

-1

문자열 어려움 = "초보자"; (difficulty.Equals ("초급") & & difficulty.Equals ("아마추어") & & difficulty.Equals ("전문가")!!!) 경우 { Console.WriteLine ("무언가를"); }

+0

이것은 그가 요구 한 것이 아닙니다. – Gianlucca

관련 문제