gpt4 book ai didi

c# - 有没有办法表明一个方法永远不会返回?

转载 作者:行者123 更新时间:2023-11-30 13:43:53 28 4
gpt4 key购买 nike

假设我们有以下(非常基本的代码)

public int Foo()
{
while (true)
{

}
// No "return 0" etc. needed here.
}

编译器可以理解此方法永远不会返回,因此会显示警告,并且不要求该方法具有return 语句。


如果我们有的话

public void WontExit()
{
while (true)
{

}
}

public int Foo()
{
this.WontExit();
return default(int); // This is needed here.
}

return 语句是必需的,因为编译器似乎无法预见它永远不会到达。


  • 为什么编译器允许在第一种情况下省略 return 语句?为什么它不需要 return 语句? (这里的内部结构是什么?)
  • 有什么方法可以指示编译器(或可达性分析)在第二种情况下,return 代码路径也永远不会到达?

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com