遥不可及的代码不会执行。
c#编译器会提示一个遥不可及的代码检测警告。这个警告可以帮助你消除未使用的代码。
我们看到如何消除这个错误但不删除代码。
例:这个程序有一些遥不可及的代码。在while循环,条件必须评估之前进入循环体。在一段时间(false)循环,所有封闭的代码是遥不可及的。“int值= 1”声明不会达成。
Program with unreachable code: C# using System; class Program { static void Main() { while (false) { int value = 1; if (value == 2) { throw new Exception(); } } } } Compilation warning Warning CS0162: Unreachable code detected
例2。有时候,你可能由于某种原因不想删除的代码。如果你注释它,它将不再被编译。这可能导致一个现象叫做“腐烂”或错误。
Using pragma to disable warnings: C# using System; class Program { static void Main() { #pragma warning disable while (false) { int value = 1; if (value == 2) { throw new Exception(); } } #pragma warning restore } } Compilation warnings总结。可达性是c#语言仔细描述的规范。每一个语句的可达性和unreachability决定基于其终点。后立即结束点的位置。
So 发现warning提示但又不能删除或注释掉的时候,记得添加
#pragma warning disable 来消除warning提示
并用#pragma warning restore恢复之后的warning功能