如果我看看Linqpad中爲以下兩個代碼片段創建的IL,我不知道這裏會發生什麼。 在C# int i = 42;
導致以下IL代碼 IL_0000: ret
而在VB Dim i As Integer = 42
它是 IL_0000: ldc.i4.s 2A
IL_0002: stloc.0
顯然,c#編譯器明白這個值從來不會被使用,因此只是簡單的返回任何東西。在VB.NET中,
我設法得到詞法分析器,語法檢查器和語義,現在我想移動中間代碼生成。問題是我不知道如何處理邏輯表達式。我讀了一些關於E.true和E.false的內容。這個例子無處不在,但我不明白。 例如,如果我有以下代碼 if x>y and x<y or x == 1 then
//super duper code here
x = x+1
else
//super duper