今天写一个程序时,无意中忘记转换格式了,结果出错,而且错得让我大吃一惊
类似于MessageBox.Show(("a"+1).ToString());这样的代码,编译器居然不报错.
有兴趣的朋友不妨自己一试,至于原因.我猜是这样,括号外有ToString(),可能编译时就改成对括号里的每个元素都调用ToString()..仅是猜测,希望高手指正.
C#编译器对特定代码不报错现象探讨
博主写程序时未转换格式出错,发现类似 MessageBox.Show((\a\+1).ToString()); 的代码,C#编译器不报错。博主猜测是因括号外有 ToString(),编译时会对括号里元素都调用该方法,希望高手指正。
今天写一个程序时,无意中忘记转换格式了,结果出错,而且错得让我大吃一惊
类似于MessageBox.Show(("a"+1).ToString());这样的代码,编译器居然不报错.
有兴趣的朋友不妨自己一试,至于原因.我猜是这样,括号外有ToString(),可能编译时就改成对括号里的每个元素都调用ToString()..仅是猜测,希望高手指正.
1261
1209