有一个值类型 int i=22;请问有办法用一个新的变量比如名字叫j,当i变化时,j也变化反之亦然

解决方案 »

  1.   

    第一装箱:object i = 22; object j = i;
    第二指针:int i = 22; int* j = &i;
      

  2.   

    装箱         object i = 22; object j = i;
                MessageBox.Show(j.ToString());
                i=23;
                MessageBox.Show(j.ToString());
    两次输出都是22,怎么回事,而且这个带不了类型呀
      

  3.   

    看来装箱这个不行,因为 i = 23;再一次装箱 i和j就不是一个对象了。用指针吧,这个没问题
      

  4.   

    还有个方法就是写一个类包装值类型
    class Var<T> where T: struct
    {
        public T Item;
        public Var(T t) { Item = t }
    }Var<int> i = new Var(22);
    Var<int> j = i;
    i.Item = 23;
    MessageBox.Show(j.Item);
      

  5.   

    如果不想用指针可以写个方法,像这样:
    public int A(ref int i){return i;}
    int j=A(ref i);
      

  6.   

    private int i=0;
    public int I
    {
    set
    {
    i=value;
    j=value;
    }
    }
    private int j=0;
    public int J
    {
    set
    {
    i=value;
    j=value;
    }
    }