怎么在方法中使用值传递引用类型
C#中方法默认是值传递的,使用ref和out可以把使值类型作为引用传递,而我想知道可以把引用类型(比如数组)通过值传递吗?这不同于默认的值传递,默认时,方法对数组的操作有效,而我现在希望对数组操作无效。
------解决方案--------------------不可以
------解决方案--------------------你可以复制一个相同的对象,然后将复制的副本传递到方法中
------解决方案--------------------每个object都有个方法叫Clone()用于实现对对象的浅拷贝, 楼主可以试试.
如果是对象内有对象属性,那么就要自己去重写Clone方法了.
------解决方案--------------------一楼的说得不对,可以的,只要加个关键字就行了 在类型前加 ref 关键字
比如
public void ss(ref string aa)
{
aa="bb";
}
调用
string ww = "255";
ss(ref ww);
输出ww的值是 bb
------解决方案--------------------自己写一个类似string的不可变对象
------解决方案--------------------
------解决方案--------------------用深拷贝就可以解决,MemberwiseClone()
------解决方案--------------------