日期:2014-05-18  浏览次数:20768 次

关于函数输入输出参数为XML文档格式的疑问,形参就是实参?
今天调试一个c#的函数,突然发现输入参数为Xelement类型时,这个参数同时可以传出!!!!


 程序如下:

private void Main()

  XElement firstLevel = new XElement("AAAA");
   
  test(XElement firstLevel);

}

private test(XElement ttt)
{
  ttt.add(new XElement("BBBB");

}


程序运行之后,firstLevel 的内容变成了
<AAAA>
  <BBBB/>
</AAAA>

这是神马情况???子函数的形参可以变成实参?是XML的特殊之处?不用ref 关键字进行修饰?

------解决方案--------------------
引用类型,传的是地址,等同于 ref
------解决方案--------------------
探讨
引用:
引用类型,传的是地址,等同于 ref


也就是如果传的是一个类,亦是如此?

------解决方案--------------------
如果 firstLevel 是在函数外声明的,那在其它地方访问也是修改后的结果