解决方案 »

  1.   

    var exist = false;
    if (exist)
    {
       //...ifblock
    }
    这样可以进入if语句里面?那三观尽毁了
    是不是前面加了个!?
      

  2.   

    这是不可能的,var exist = false;等同于bool exist = false;,根据MSDN的定义:
    从 Visual C# 3.0 开始,在方法范围中声明的变量可以具有隐式类型 var。 隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。 下面的两个 i 声明在功能上是等效的:
    var i = 10; // implicitly typed
    int i = 10; //explicitly typed因此var exist = false肯定等同于bool exist = false,应该是你看错了吧。
      

  3.   


    实践证明你是错误的,var 的并不会进入if
      

  4.   

    js对象定义是以var开始的···bool exist<=>var exist
      

  5.   

    从 Visual C# 3.0 开始,增加了隐式类型var。 隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。
    var exist=false;//等效于bool  exist=false;
      

  6.   

    我的程序,所有用到var的地方,只有那一个地方会出现这样的问题,其他地方同样的写法都没有问题。
    算了,不研究了。 我直接把 var 换成 bool了。
      

  7.   

                bool exist = false;            {
                    if (exist)
                    {
                        throw new PmExistException(ArgTextNames.Role);
                    }
                }
    把var换成bool也是出现 上面相同问题。最后解决方法:如上面代码所示,就没问题呃,不清楚什么问题,不研究了。
      

  8.   

    exist 将这个变量名 换一个!
      

  9.   

    据真实案例,这种情况确实发生了。想尽办法调试,最后解决方法:关掉vs,重新启动。vs就是这么任性!