int VillainId = -1;
Console.Write("Enter VillainId: ");
while (!int.TryParse(Console.ReadLine(), out VillainId))
{
Console.WriteLine("You need to enter a valid Villain Id!");
Console.Write("Enter VillainId: ");
}
有人能告訴我while(**this code here**){//rest of the code}
內部的代碼是如何工作的。我瞭解它是否在{}內部,但它在條件和循環中,直到成功解析數字爲止。這是如何運作的 ?在while表達式語句中執行代碼
如果int.TryParse成功解析從Console.ReadLine()獲取的字符串,則返回true。它前面的'!'意味着反轉bool,所以'while'在parens中執行代碼,並且如果'int.TryParse'返回false,'while'再次執行 - 並且一次又一次地執行,直到'int.TryParse'返回true。 –
因此,如果我理解正確,如果它的錯誤,它在{}中的工作,然後再次檢查,並通過它,你的意思是它再次運行整個try.parse,如果成功了int並返回true? –
這是正確的,每當它再次發生時,它會再次爲新輸入調用'Console.ReadLine()',並將其傳遞給'int.TryParse()',它嘗試解析新值等,直到解析是成功的,它打破了循環。 [do/while循環](https://msdn.microsoft.com/en-us/library/370s1zax.aspx?f=255&MSPPError=-2147217396)是編寫該代碼的另一種方式,並且可能更容易讓您頭轉過身來。 –