5 个解决方案
#1
自己顶一下
#2
public A(B c)
{
this.b=c;//如果B是class,直接赋值就是了
}
public A(ref B c)
{
this.b=c;//如果B是struct的话【参数加ref或者out】
}
{
this.b=c;//如果B是class,直接赋值就是了
}
public A(ref B c)
{
this.b=c;//如果B是struct的话【参数加ref或者out】
}
#3
这两种情况下b都是c的引用是吗?
如果需要单单是把c的值拷贝给b,而两者没有任何关系,是不是就要为类B定义一个以类B为参数的构造函数,然后调用这个构造函数?
#4
直接赋值就OK
类本身是引用类型 执行this.b = c时 实际上传入b的就是c的引用
如果B是struct 似乎很难达到这种效果... 大概要用指针了
class A
{
public A(B c)
{
this.b = c;
}
B b;
}
class B { }
类本身是引用类型 执行this.b = c时 实际上传入b的就是c的引用
如果B是struct 似乎很难达到这种效果... 大概要用指针了
#5
值类型的参数默认传递的是变量值,引用类型的参数传递的是引用
如果想要值类型的参数传递的也是引用的话,就用 ref 或者 out 来修饰就可以了。
如果想要值类型的参数传递的也是引用的话,就用 ref 或者 out 来修饰就可以了。
#1
自己顶一下
#2
public A(B c)
{
this.b=c;//如果B是class,直接赋值就是了
}
public A(ref B c)
{
this.b=c;//如果B是struct的话【参数加ref或者out】
}
{
this.b=c;//如果B是class,直接赋值就是了
}
public A(ref B c)
{
this.b=c;//如果B是struct的话【参数加ref或者out】
}
#3
这两种情况下b都是c的引用是吗?
如果需要单单是把c的值拷贝给b,而两者没有任何关系,是不是就要为类B定义一个以类B为参数的构造函数,然后调用这个构造函数?
#4
直接赋值就OK
类本身是引用类型 执行this.b = c时 实际上传入b的就是c的引用
如果B是struct 似乎很难达到这种效果... 大概要用指针了
class A
{
public A(B c)
{
this.b = c;
}
B b;
}
class B { }
类本身是引用类型 执行this.b = c时 实际上传入b的就是c的引用
如果B是struct 似乎很难达到这种效果... 大概要用指针了
#5
值类型的参数默认传递的是变量值,引用类型的参数传递的是引用
如果想要值类型的参数传递的也是引用的话,就用 ref 或者 out 来修饰就可以了。
如果想要值类型的参数传递的也是引用的话,就用 ref 或者 out 来修饰就可以了。