int a = 9;
            int b = a;
            b = 10;
            //当b的值被更改时,a的值也被更改有什么声明能实现下面的功能。
当b被重新赋值时,a也自动跟着和b同值。

解决方案 »

  1.   

    int _value;
    int a { set { _value = value; } get { return _value; } }
    int b { set { _value = value; } get { return _value; } }
    private void button1_Click(object sender, EventArgs e)
    {
        a = 1234;
        MessageBox.Show("" + b);
    }
      

  2.   

    你这个题的要求是ab两对象同地址,那么b = a这步操作要求是引用复值,而int是struct,是值传递类型,所以这段代码肯定不行,做法就是包装出一个引用传递的类,包装一下就可以了
      

  3.   

    没有,int属于绝对按值传递类型,看你的具体应用吧,需要的话包个类就行了,class是按引用传递的
      

  4.   


        class cla1
        {
            public int a;
        }
        class cla2
        {
            public int b;
        }
        class Program
        {
            static void Main(string[] args)
            {
                cla1 c1 = new cla1();
                cla2 c2 = new cla2();
                c1.a = 99;
                c2.b = c1.a;
                //当b的值被更改时,a的值也被更改            Console.ReadLine();
            }    }其实想在2个类里,任意一方改变都改变(在不想用static的情况下),可以实现吗?
      

  5.   

    int是值类型
    值类型要转为引用类型需要装箱变成object,但object里存储的是值,
    int a = 5;
    object o = a;//装箱 obj = 5;
    int b = (int)o;//拆箱,将值返回 b = 5;
    b = 6;//只修改b的值一定要做,那就非安全代码了……
      

  6.   

    union类型
    [StructLayout(LayoutKind.Explicit)]
    public struct DATA
    {
        [FieldOffset(0)]
        public int a;
        [FieldOffset(0)]
        public int b;
    }private void button1_Click(object sender, EventArgs e)
    {
        DATA data = new DATA();
        data.a = 1234;
        MessageBox.Show("" + data.b);
    }
      

  7.   

    unsafe{
    int a = 10;
    int* b = &a;
    *b = 11
    }
      

  8.   


    int a = 5;
    unsafe
    {
        int* b = &a;
        *b = 6;
    }
    MessageBox.Show(a.ToString());
      

  9.   

    你同一个域用两个指向同一个地址的变量意义不大吧,
    要是传给其他方法,可以用ref参数类型
      

  10.   

    定义一个属性
    public int A
    {
       set
      {
        a = value;
        b = a;
       }
       get 
      { 
         return a;
       }
    }以后就不需要用a了,直接用大写的A代替咯!比如
    A=20;