2008-12-20 102 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

代码中没有错误。它运行良好。如果你看到一个错误,它就在别的地方。