值我有一個小的調試截距說最簡單的「真」,編譯器無法識別爲真
if (true)
throw new Exception()
DoStuff();
但是編譯器警告我說,DoStuff()是無法訪問的代碼。因此,有以下幾條:
if (1==1)
if (1 + 1 == 2)
下「工作」
int x = 1;
if (2 * x == 2)
throw...
什麼表情顯然是真實的人尚未編譯器?我可以管理最好的是
bool False =>false;
if (False)
...它具有很好的性質將其關閉,所有我需要做的就是將其更改爲
bool False=>true /* :D) */
您所看到的常量表達式的分析,是不是常量表達式的分析之間的差異我的方法。如果這是C#,分析會假設'x'在進行流分析時可能包含任何有效的int值。 ('bool False => true'可能會讓你被捕) –
這聽起來像是你應該讓編譯器警告你的情況。誰在乎?無論如何,你正在做一些奇怪的事情。 –
您應該檢查[Debug](https://msdn.microsoft.com/en-us/library/system.diagnostics.debug(v = vs.110).aspx)類和跟蹤開關。 .NET允許你從1.0版本開始基於構建類型和條件。謙虛的'Debug.Assert(false)'在Debug上斷開,但在發佈版本上被刪除 –