引用参数ref
使用规则:
使用引用参数时,必须在方法声明和调用中都是用ref修饰符。
实参必须是变量,在用作实参前必须被赋值。如果是引用类型的变量,可以赋值为一个引用或null。
值参数和引用参数的区别:
对于值参数,系统在栈上为形参分配内存,就像是复制了一份,所以对于值类型的参数不会改变值。
引用参数相当于给变量重新起名字,但是他们指向的是相同的内存位置,是同一个值,所以值会改变(ref的意义)。
输出参数out
使用规则:
和引用参数一样,输出参数在使用时,必须在方法声明和调用中都是用out修饰符。
实参必须是变量,因为它需要内存位置保存返回值。但是实参不需要被赋值。
特点:
就像引用参数一样,输出参数的形参担当实参的别名。方法内任何改变都可以传出来。
参数必须在方法内进行分配。
在方法内部,输出参数在被读取前必须被赋值(意味着和初始值无关)。
在方法返回之前,方法内部的任何贯穿的可能路径都必须为所有输出参数进行一次赋值。
引用参数和输出参数区别:
ref实参必须在用作实参前赋值。而out只需要准备一个变量接收传出值,不能也不需要在外面赋值。