用做这样的判断吗?if(this.Dock != DockStyle.Fill)this.Dock = DockStyle.Fill;,前面的if()有必要吗?

解决方案 »

  1.   

    连续两个this.Dock = DockStyle.Fill;,第二次调用是不是它内部做风格检查,如果是DockStyle.Fill就不再设置了?
      

  2.   

    this.Dock = DockStyle.Fill比if(this.Dock != DockStyle.Fill)运行得慢,有意义
      

  3.   

    1、如果你的this.Dock未被初始化或者已经被初始化、但结构同DockStyle.Fill一样,一点意义也没有;
    2、如果你的this.Dock已经被初始化,可以预见结构同DockStyle.Fill不一样,也一点没有意义;
    2、如果你的this.Dock被代码初始化,其结构不可预见,才有意义;一般系统设计,避免出现第3种情况
      

  4.   

    不好意思,没说明白,我的意思是:
    this.Dock = DockStyle.Fill;
    这句话在。net里执行this.Dock时,Dock属性不是不在内部做一些类似下面的检查?
    if(value != oldvalue)
    _duck = value;
    如果做的化,我就不用显示调用if(this.Dock != DockStyle.Fill)了