가 여기에 Int32.TryParse
경우 조건 사용하여 코드의 내 작품이다. (콘솔 응용 프로그램)Int.tryparse가 If 조건에서 올바르게 작동하지 않습니다 - 어떤 설명입니까?
Console.WriteLine("Enter the no of the person(value for n)");
string number = Console.ReadLine();
Console.WriteLine("Enter the no of the bulb whose state you want to check(value for x)");
string bulbNumber = Console.ReadLine();
if ((Int32.TryParse(number, out n)) || (Int32.TryParse(bulbNumber, out x)))
{
}
우리는 간략한에서 N의 값을 선택하면, 그것은 제대로 값을 입력 한 캡쳐,하지만 당신은을 선택하면 x 값, 놀랍게도 0입니다 !!! - 이것을 극복 할 수있는 방법이 있습니까? 이 변칙의 원인이 무엇인지 궁금합니다.
은 당신의 문제를 해결하기 위해 if 문 밖에서 분석보십시오. – Oscar
당신은'||'Or 조건을 가지고 있습니다. 숫자가 파싱되면 그것은 사실이 될 것이고 if 본문에 들어갈 것입니다. 대신에'&&'를 사용하십시오 –
|| 조건의 첫 번째 부분이 true로 평가되면 명령문의 두 번째 부분에 도달하지 않으므로 x가 0으로 유지됩니다. – Ric