首页 新闻 会员 周边

参数中的ref,如果参数是引用类型,好像用不用ref都是一样的效果,是吗

0
悬赏园豆:5 [已解决问题] 解决于 2010-01-17 01:40

参数中的ref,如果参数是引用类型,好像用不用ref都是一样的效果,是吗

问题补充: 我测试过: protected void Page_Load(object sender, EventArgs e) { XDocument xd = XDocument.Load(Server.MapPath("a.xml")); List<XElement> xes = xd.Root.Elements().ToList(); aa(xes); Response.Write(xes.Count()); } public void aa(List<XElement> xes) { xes.Add(new XElement("e" ,new XAttribute("a",1))); } xes.Count()还是变了
拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:37
提问于:2010-01-16 12:54
< >
分享
最佳答案
0

ref 关键字使参数按引用传递

引用类型原本也是按引用传递

收获园豆:5
persialee | 老鸟四级 |园豆:3217 | 2010-01-16 17:49
参数是引用类型使用ref也是有用的 引用类型的参数使用了ref,当对对象赋值的时候,可以修改对象引用的引用 楼主的例子里,引用类型参数本身就是引用,之间的操作对象的引用没有发生变化 换下面的二种写法分别试试再想想就知道了 public void aa(List<XElement> xes) { xes.Add(new XElement("e" ,new XAttribute("a",1))); xes = new List<XElement>(); } public void aa(ref List<XElement> xes) { xes.Add(new XElement("e" ,new XAttribute("a",1))); xes = new List<XElement>(); }
明月我心 | 园豆:250 (菜鸟二级) | 2010-01-17 01:45
其他回答(1)
0

不一样,我以前好像测试过,你可以测试一下就知道了

阿水 | 园豆:506 (小虾三级) | 2010-01-16 15:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册