方法参数为引用类型时的一个细节问题 ref是用来修改引用本身,而不是针对对象 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加上ref表示的是“引用的引用”。不加ref,你修改它的属性,会影响到调用者的对象,因为它们是一个对象:void Main(){ User u = new User(); u.id = 1; foo(u); Console.WriteLine(u.id); // 2}void foo(User u){ u.id = 2;}但是参数指向另一个对象,不会影响原来的对象,比如:void Main(){ User u = new User(); u.id = 1; foo(u); Console.WriteLine(u.id); // 1}void foo(User u){ u = new User(); u.id = 2;}加上ref则不同:void Main(){ User u = new User(); u.id = 1; foo(ref u); Console.WriteLine(u.id); // 2}void foo(ref User u){ u = new User(); u.id = 2;} 如果是这么基础的问题,我也不会问了宝爸说出了本质,只是你没有仔细理解。是你们没理解我的题目,斗大的字,你们都没看吗?过年撑到了吗?我问的是有深度的问题,不是问ref的意义,或加不加ref的区别,ref不是重点,问题主要在第一段,第二段是问题及解决方案探讨分析。无语了,我的这两段话有这么难理解吗?还是没看题目? 我要问的主要是在不用ref的情况下,是否会因为引用类型的参数调用时产生副本而导致内存的“意料之外”的增加,不想造成内存浪费,当然,加了ref之后就是引用参数地址了,也就不产生副本了,关键是一般情况下除非需要修改参数时才使用ref,我这里主要是考虑效率 如果是这么基础的问题,我也不会问了宝爸说出了本质,只是你没有仔细理解。是你们没理解我的题目,斗大的字,你们都没看吗?过年撑到了吗?我问的是有深度的问题,不是问ref的意义,或加不加ref的区别,ref不是重点,问题主要在第一段,第二段是问题及解决方案探讨分析。无语了,我的这两段话有这么难理解吗?还是没看题目?大过年的,火气别太大,语气别太毒…… 作为一个war3的老玩家,真为你感到羞耻 我提到war3了吗?就事论事好吗?我为你感到羞耻,如果你真行,证明你是对的 基本语法首先搞明白。引用和对于引用修饰ref,都不会产生“副本”。 webbrowser控件如何向填写支付宝密码? 运行没问题 显示变空白 控制台输入问题 Remoting是多线程问题 我在百度提问关于C#编程问题,希望来帮我解决一下 递增回归的问题 我用C++作的标准Com组件,DELPHI,VB调用全正常,可是在C#中添加引用的时候,为何看不到这个COM组件? Treeview 如何写某个节点的右击事件? 关于C#的学习曲线? 紧急求救,关于字符串的问题,请各位大虾指点 求个正则 UdpClient在接收时如何停用
不加ref,你修改它的属性,会影响到调用者的对象,因为它们是一个对象:
void Main()
{
User u = new User();
u.id = 1;
foo(u);
Console.WriteLine(u.id); // 2
}
void foo(User u)
{
u.id = 2;
}
但是参数指向另一个对象,不会影响原来的对象,比如:
void Main()
{
User u = new User();
u.id = 1;
foo(u);
Console.WriteLine(u.id); // 1
}
void foo(User u)
{
u = new User();
u.id = 2;
}
加上ref则不同:
void Main()
{
User u = new User();
u.id = 1;
foo(ref u);
Console.WriteLine(u.id); // 2
}
void foo(ref User u)
{
u = new User();
u.id = 2;
}
宝爸说出了本质,只是你没有仔细理解。
是你们没理解我的题目,斗大的字,你们都没看吗?过年撑到了吗?我问的是有深度的问题,不是问ref的意义,或加不加ref的区别,ref不是重点,问题主要在第一段,第二段是问题及解决方案探讨分析。无语了,我的这两段话有这么难理解吗?还是没看题目?
宝爸说出了本质,只是你没有仔细理解。
是你们没理解我的题目,斗大的字,你们都没看吗?过年撑到了吗?我问的是有深度的问题,不是问ref的意义,或加不加ref的区别,ref不是重点,问题主要在第一段,第二段是问题及解决方案探讨分析。无语了,我的这两段话有这么难理解吗?还是没看题目?
大过年的,火气别太大,语气别太毒……