int x =2;// 为变量x建立一个别名为y的变量,他们的值会互相影响refint y =ref x;
别名功能并非ref局部变量的主要功能,实际上它经常和ref返回功能一起使用
他需要分别在方法返回类型之前,和return关键字之后被返回对象的变量名之前使用ref关键字
不能将空返回值申明为ref方法
ref局部变量只能被被赋值一次,一旦被初始化就不能指向不同的存储位置了
classSimple{privateint val =20;publicrefintRefToValue(){returnref val;}}classProgram{staticvoidMain(string[] args){Simple s =newSimple();refint outValue =ref s.RefToValue();// 此时因为ref的使用,当outValue改变时,s中的val值也会跟着改变
outValue =10;}}
方法重载
一个类中可以有多个同名方法,这叫做方法的重载,使用相同名称的方法必须有一个和其他方法不同的签名
方法签名:方法名称、参数数目、数据类型和顺序、参数修饰符
命名参数
只要显示的指定参数的名字,就可以任意顺序在方法调用中列出实参
使用命名参数可以显式的赋值,当然也可以不全部显示赋值,只交换其中几个也是完全没问题的
classSimple{privateint val =20;publicintCalc(int a,int b,int c){return a + b + c;}}classProgram{staticvoidMain(string[] args){Simple s =newSimple();// 形参:实参int result = s.Calc(b:4,c:2,a:3);
Console.WriteLine(result);}}