在c#中支持在类里面嵌套其他类,这意味着,在一个类里面定义另外一个类,在一个类里面声明另一个类都是可以的。
这就涉及到,如果我们把嵌套到其他类中的类(都为引用类型)作为函数参数传入,那么函数执行之后对原引用对象会不会有影响呢?
即定义这样的类
class classA
{
int i;
//…
classB B;
}
class test
{
public static void main(string[] args)
{
classA myA=new classA();
fuc(myA.B);
}
static void fuc(ClassB B)
{
B=null;
}
}
执行完上述代码之后myA.B会改变吗?不会!
只有直接把myA传入时,才会写回改变值;
即:
class classA
{
int i;
//…
classB B;
}
class test
{
public static void main(string[] args)
{
classA myA=new classA();
fuc(myA);
}
static void fuc(ClassA A)
{
A.B=null;
}
}