日期:2014-05-17  浏览次数:20758 次

C# ref引用的用法
小弟初学c#,最近在做一个程序,需要用到引用关系,不知道怎么处理,请高手指点。
情况是这样的:
有3个类A、B、C,类A中有一个list<B>,存的是对象B的集合,类C中有个变量refB,想要将类C中refB这个变量指向类A的list<B>中的某一个具体的B,使得当这个B的属性发生变化的时候,类C中的refB的值也一起发生改变。请问引用的代码应该怎么去写啊,查了半天引用的文章……最后给自己看迷糊了反倒= =请求高手指点一下,谢谢!

------解决方案--------------------

ref 不是类中的, ref 是 参数中 同步修改 值类型时 的修饰符。

所以 我估计你说的 可能 是 静态 变量 - -。 

但是 如果不 New 的话 类都是引用类型的 会自动ref - -。
贴个简单的代码你看看吧。

    public class A {
        public List<B> Blst { get; set; }
    }
    public class B {
        public int X { get; set; }
    }
    public class C {
        public B b { get; set; }
    }
    static void Main(string[] args)
    {
            A a=new A();             
            a.Blst=new List<B>();
            a.Blst.Add(new B() { X = 10});
            a.Blst.Add(new B() { X = 20 });            
            
            C c=new C();
            c.b = a.Blst[1];
            Console.WriteLine(a.Blst[1].X);
            Console.WriteLine(c.b.X);

            a.Blst[1].X = 100;
            Console.WriteLine(c.b.X);
            Console.WriteLine(a.Blst[1].X);
     }

渣代码 见笑了 = =。