向要领通报参的时候,对应的参数凡是会用实参的拷贝来初始化。就是说随便在要领内部进行怎样的改削,都不会影响作为参数通报的变量的原始值。
通过上面的例子我们可以看出来,如果一个要领的参数是引用类型,那么使用哪个参数来进行任何改削城市转变传入的参数所引用的数据,关键在于虽然引用的数据产生了变革,但是传入的参数是没有变的。虽然可以通过参数来改削实参引用的东西,但是不成以改削实参的自己。但是在一些情况下,我们但愿要领能够实际的改削一个参数,所以c#给我们供给了ref和out关键字。
使用ref参数,感化参数的所有操纵城市感化于原始实参,,应为参数和实参引用同一个东西。通过下面的例子我们可以看出通过使用ref关键字使得传入的参数产生了转变,就相当于我们把上一个要领运算的功效返回了回来。下面的parm++相当于reg++
out关键字的语法和ref关键字相似,可以为参数附加out前缀,使得参数成为实参的别号,但是时可以不需要初始化的,ref关键字是需要先初始化传入的参数,才华够使用。