下面是使用Int32.TryParse
與if條件我的一段代碼。(控制檯應用程序)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
你有一個'||'或條件。當數字被解析並且它將進入if體時它會成立。使用'&&'而不是 –
正如前面所提到的,因爲||如果條件的第一部分評估爲真,則不會達到聲明的第二部分,因此x保持爲0. – Ric