C# ref摘引的用法
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 - -。
贴个简单的代码你看看吧。
渣代码 见笑了 = =。
小弟初学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);
}
渣代码 见笑了 = =。