double number;
bool isParsed = false;
while(!isParsed)
{
Console.WriteLine("Enter the value");
isParsed = double.TryParse(Console.ReadLine(), out number);
if(isParsed)
{
break;
}
Console.WriteLine("Invalid value");
}
一位朋友和我正在研究這個代碼塊。我發現這部分了解:這個while循環發生了什麼?
bool isParsed = false;
while(!isParsed)
我認爲,如果isParsed = false,並且while循環將檢查否定,看它是否應該運行,這是不是可以邏輯(isParsed!):
while(!isParsed) => while(NOT(false)) => while (true)?
因此,while循環永遠不會運行。但它確實運行。後來我明白檢查發生了:
while (!isParsed) => while((!isParsed) == true),
但他說並不完全是這樣發生的。
有人可以解釋這裏發生了什麼嗎?