澄清带有嵌入式 If-Else 的 while (true) 循环

Clarification on while (true) loop with embedded If-Else

我一直在学习使用 C# 进行编程并且遇到了一个我不熟悉的概念,我正在寻求澄清以帮助我更好地理解正在发生的事情。这并不是特定于 C# 的。它与使用带有嵌入式 If-Else 语句的 while (true) 循环有关。

我正在研究一本书中的示例,发现作者在方法内部使用了 while (true) 循环,该方法由 Main 方法调用。在作者的 while 循环中有一个 If-Else,其中包含方法的 return 值。

当我想到使用 while (true) 时,我想到了一个无限循环,您可以在其中调用 break 来摆脱它。然而,这个循环不需要中断就可以退出。相反,如果 If 语句的条件为真,它就会中断,如果该条件为假,它就会循环。下面是一个例子。

while 循环如何在没有可变条件供其求值时中断,而是硬编码为“真”?它是否与在方法内部有关并且仅因为 Main 调用该方法而中断?只是想更好地理解这一点,因为它是一种用于验证的便捷技术。

public void ValidateInteger()
{
   while(true)
   {
      if (int.TryParse(Console.ReadLine(), out int value)
         return Console.WriteLine($"{value} is an integer")
      else
         Console.WriteLine($"{value} is not an integer, try again")
   }
}
public void ValidateInteger()
{
   while(true)
   {
      if (int.TryParse(Console.ReadLine(), out int value)
         return Console.WriteLine($"{value} is an integer") <-- right here
      else
         Console.WriteLine($"{value} is not an integer, try again")
    }
}

return 行是 while 循环中断的地方,因为如果某个值已被 returned,则没有理由继续循环。