使用.netframework 3.5在调试模式下变量是错误的

时间:2017-04-07 08:32:51

标签: c# debugging

我在步调试时遇到一些代码问题(vs2017 .net framework 3.5,debug mode) 这是代码

  class Program {

      static void Main(string[] args) {
        DataParameter para = new DataParameter("12");
      }
    }
    enum TestEnum {
        A,
        B,
        C
    }
    class DataParameter {
        private bool c33;
        public DataParameter(string name) {
            TestEnum ta = TestEnum.A;
            c33 = ta == TestEnum.A || ta == TestEnum.B;//after execute :c33 = false
            Name = name;//after execute :c33 = true
        }
        public string Name { get; set; }
    }

step 1 step 2

1 个答案:

答案 0 :(得分:0)

添加断点时,它会在执行代码之前停止。因此,当它在第24行停止时,尚未完成对c33的分配,并且c33具有bool成员的默认值,这是假的。执行第24行后,它会按预期设置为true。