C#中方法参数的值用

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

我觉得不得不写一篇关于方法的输入参数的文章总结:

方法的输入参数是可以通过值传递和引用传递的。通过引用传递给方法的变量是可以在方法体内进行变量值的改变,而通过值传递给方法的变量是不会改变的。这是因为通过引用传递变量时,方法引用的是原来的变量。而值传递变量时,方法引用 的是变量值的副本。

在C#当中所以的方法的输入参数都是值传递,除非特别说明。

但是参数的数据类型确定了这些参数的行为。引用类型只包含这个对象的引用 ,因此他们只给这个方法传递这个引用 ,值类型是包含的实际数据,因此传递给方法的是数据本身的副本。

但是字符串是例外的,你不可能通过引用类型而改变字符串变量的值,如果你改变字符串的值,则会重新创建一个新的字符串对象。这一点很重要

C#当中的变量必须进行了初始化后才用,如果某个变量通过引用传递变量给方法参数,那么你在方法体外所做的对这个变量的初始化将毫无意义,因此我们可以通过out关键字来进行改变这种状态

out关键字使在传递变量时不必对方法体外的变量进行初始化就可使用,而且out关键字是通过引用传递参数,所以方法体内对该变量的任何改变都会被保留下来。

当然跟ref一样,在调用该方法时也需要加上out关键字来区别

当然还有一点要注意:如果你在方法体内还没有对此参数进行初始值,那么在编译时将出错。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航