返回信息流想干什么?传入的参数只要不是引用参数,它只会在函数内修改,函数体的值一样不变。
这是一条镜像帖。来源:北邮人论坛 / dot-net / #3275同步于 2011/8/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
Re: C#中有constant member function吗?
wangjianzhou
2011/8/25镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
【 在 dao 的大作中提到: 】
: 比方说有这么一个C#函数:
: public void Func(params IEnumerable[] list);
: 它参数全是引用类型,怎么限定它不能修改其中任何一个?
: ...................
据我所知,没有这个功能,就像我前边说的,C#函数默认按值传参,不声明按引用传,就算你在函数内怎么修改这个参数,这个参数的值还是不变。
你不让修改时想实现什么功能?
你这个说法是错的吧。。。
【 在 wangjianzhou 的大作中提到: 】
: 还有虽然传入的参数类型是引用类型,但是还是按值传递处理,你的list无论在函数内怎么变化,最后值还是原始值,
: --
【 在 monarch 的大作中提到: 】
: 你这个说法是错的吧。。。
: 【 在 wangjianzhou 的大作中提到: 】
: : 还有虽然传入的参数类型是引用类型,但是还是按值传递处理,你的list无论在函数内怎么变化,最后值还是原始值,
: ...................
道歉,确实是错的,传入的参数是引用类型的话,函数内修改引用的值会最终修改,引用参数传递的是引用的地址,计算操作的是同一块数据。
如果要不被修改的话,只能新申请对象,在运算前保存以前的引用对象。
c#中字符串特殊对待