나는 이것이 아마 정말 바보 알고 있지만,이 경우 문이 실패한 이유를 알아낼 수 없습니다 내가 콘솔에서 1
또는 2
를 입력하면이 단락 된 if 문에 어떤 문제가 있습니까?
문이 실패 할 경우, 첫 번째,하지만 두 번째는 경우 통과 먼저 결과를 bool에 먼저 저장합니다. 왜? 나는 아마 여기 무언가를하고있을거야? , amOrPm
가 동일하지 않는 경우 1
또는 amOrPM
이 2
동일하지 않습니다 :
Console.WriteLine("Enter 1 for AM or 2 for PM?");
string amOrPM = Console.ReadLine();
//Why does this fail if I enter 1 or 2?
if (amOrPM != "1" || amOrPM != "2")
Console.WriteLine("You must enter 1 for AM or 2 for PM. Try again.");
//This works!
bool valid = (amOrPM != "1" || amOrPM != "2");
if (!valid)
Console.WriteLine("You must enter 1 for AM or 2 for PM. Try again.");
난 그냥 if 문 첫 번째에 대한 발견, 내가 대신 ||의 & &을 넣어했다,하지만 난 그것을 읽기 때문에이 혼란 콘솔 행으로 이동하십시오. 이 잘못의 정의를 읽고 있습니까?
'amOrPM! = "1"|| amOrPM! = "2"'는 항상 true입니다. 'if (amOrPM! = "1"&& amOrPM! = "2")'를 원하지 않습니까? –
&&를 의미 했습니까? –
'(amOrPM! = "1"|| amOrPM! = "2")'는! (amOrPM == "1"&& amOrPM == "2")'와 동일합니다. DeMorgan의 법을 배우십시오. – Oded