首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#的Bug

2011-12-21 
C#的Bug?usingSystemnamespaceConsoleApplication3{classProgram{staticvoidMain(string[]args){if(false

C#的Bug?
using   System;

namespace   ConsoleApplication3
{
        class   Program
        {
                static   void   Main(string[]   args)
                {
                        if   (false)
                        {
                                int   i   =   1;
                        }

                        int   i   =   2;

                        System.Console.WriteLine(i.ToString());
                }
        }
}


================

上面代码有错误吗?我的VS.net   2005   SP1编译不了。
用Java测试:
                        if   (false)
                        {
                                int   i   =   1;
                        }

                        int   i   =   2;
是完全没问题的。为什么C#有这个鬼问题?

PS:我的VS.net2005   SP1是盗版的,麻烦哪位用正版的朋友试下!

[解决办法]
C#不支持这么写
类似
if(1)是编译不过的
[解决办法]
C#不支持这么写
类似
if(1)是编译不过的
==================
瞎说
人家是if(false)
i变量的问题

[解决办法]
果然是瞎说了-_-#
这个咋解决呢
[解决办法]

if (false)
{
int i = 1;//这里已定义了一次
}

int i = 2;.//这里又定义了一次,

为了避免在使用的上的不方便,C#编译器不允许这样在定义两次变量.因为它们的做用域相近.

热点排行