首页 新闻 会员 周边

List<myclass>泛型集合,在方法中给他赋新值没有返回值,方法外的集合会改变?

0
悬赏园豆:5 [已解决问题] 解决于 2012-09-01 08:19

在同一个类中,List<myclass>泛型集合方法外声明为null,在方法中给没有作为参数传入给他赋新值没有返回值,方法外的集合会改变?

C#
问题补充:

myclass是引用类型,不作为参数传入,直接访问赋值,方法外的集合会改变吗

易顺金的主页 易顺金 | 初学一级 | 园豆:2
提问于:2012-07-03 08:26
< >
分享
最佳答案
0

会不会改变,你看它是不是引用类型的。

收获园豆:3
LCM | 大侠五级 |园豆:6876 | 2012-07-03 08:37
其他回答(1)
0

不会!

方法的参数分为形参和值参两种,所谓值参就是传递参数的值,而形参就是传递参数的地址(在.NET里没有地址的概念,但作用是一样的)。

形参又分为引用参数和输出参数。

引用参数是原本就可能有内容的参数,也就是说,参数在调用的时候已经初始化了的(.NET中变量未赋值就使用是不允许的,ref引用参数定义就有这个要求)

输出参数是原本就为空的参数(可以为空,也可以不为空),如果原来参数有值也会被覆盖,在方法体内在方法结束前必须对输出参数(out)进行至少一次赋值。输出参数在调用之前定义的变量可以不赋值。

形参传递的必须是变量,而不能是常量、表达式等。

值参又分为值类型参数与引用类型参数(形参其实也是有这个区分)。对于引用类型的值参,方法体内可以对参数对象内容进行改变,如对集合的排序、增加、删除、插入成员,修改对象的属性等。而对于值类型的值参则没办法做任何改变。

 

理解了,你也就明白了你的问题为什么会这样了,以及该怎么去修正代码了。

收获园豆:2
无之无 | 园豆:5095 (大侠五级) | 2012-07-03 08:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册