TextBox tb1 是页面上的一个控件.在后台中定义了一个TextBox tb2 = tb1,当给tb2.Text付值时,为什么tb1也跟着变??

解决方案 »

  1.   

    改为
    TextBox tb2 = new TextBox();
    就不会变了
      

  2.   

    tb1和tb2本就是同一个textbox了啊。
      

  3.   

    那如果String  str1 = "dddddd";
    再定义一个String str2 = str1;
    str2 ="大厦大厦",
    str1 的值会不会变?????
      

  4.   

    因为你那样做就把tb1和tb2弄成一个了。你自己吧tb2赋值给了tb1了不是?
      

  5.   

    那如果String  str1 = "dddddd";
    再定义一个String str2 = str1;
    str2 ="大厦大厦",
    str1 的值会不会变?????string 是后台两个不同的变量,而你的TextBox那样做的话就让两个TextBox用了同一个内存地址了,因为基类不同性质也就不同。
      

  6.   

    那如果String  str1 = "dddddd";
    再定义一个String str2 = str1;
    str2 ="大厦大厦",
    str1 的值会不会变?????同样的要照你这种应该写为
    TextBox Txb1 = new TextBox();
    Txb1.Text = "dddddd";
    TextBox Txb2 = new TextBox();
    Txb2.Text = Txb1.Text;
    Txb2.Text = "大厦大厦";
    值也不会跟着变吧?原因就是string 定义的时候是不用实例化的,而你弄得TextBox并没有实例化所以自然就引用了TextBox1的内存地址。
      

  7.   

    还是不大明白,那如果
    TextBox tb2 =  new TextBox();
    tb2 = tb1,
    当给tb2.Text付值时,是不是tb1 就不跟着变了呢?????