2008-12-20 107 views
0

一個簡單的問題C#編譯問題:在1個語句換行導致錯誤

考慮這段代碼在C#

String a; 
String b; 
String c; 

1. a = 
2. b = 
3. //Comment 
4. c = "a String"; 

在編譯過程中,這是罰款,但我打一個錯誤,當我運行應用。從我的日誌中,錯誤發生在上面。

問:

是一種由3行註釋的錯誤?

錯誤是「對象引用不設置爲一個對象的一個​​實例」

我猜編譯器將上述代碼作爲1個語句。

此代碼位於aspx頁面後面的代碼中。 (aspx.cs)

// //背景故事

的ASPX在測試服務器測試併爲文件。然而,在我們將頁面部署到生產服務器之後,頁面載入()處出現錯誤,錯誤發生的行位於上面代碼示例的第1行。

這只是我的懷疑,錯誤是由評論造成的。

我對不對?

+0

已更新我的回答重新更新(錯誤)信息 – 2008-12-20 15:28:49

回答

2

您的原始代碼不合法​​。你編輯的代碼很好;所有3個變量都被賦予相同的字符串(「a String」)。

什麼確切您是否看到錯誤?


(問題更新,包括「未將對象引用設置到對象的實例」)粘貼時

此錯誤無關與發佈的代碼(除非你誤代表的代碼),並且與//評論無關。你需要看別的地方。嘗試查看堆棧跟蹤或注入調試/輸出消息。或者只是通過代碼來查看它實際上爆炸的地方。

+0

對不起,我修改了我的問題。 – Merv 2008-12-20 13:27:04

1

是否當你把它改寫爲

a = b = c = "a String"; 

工作?如果是這樣,清楚是什麼導致你的問題;)

2

編譯器會忽略第3行中「//」右側的所有內容,但第1,2,4行仍然是同一語句的一部分作爲線4以下的任何東西,直到達到「;」或塊)。

除非您的示例代碼在發佈時丟失了某些內容,否則此代碼甚至不應編譯(解析錯誤)。


好吧,您的編輯代碼的語法是有效的,不應該是你的錯誤的原因。請發佈錯誤...

0

代碼中沒有錯誤。它運行良好。如果你看到一個錯誤,它就在別的地方。