return只能返回一个值,out能返回多个值
return和out
ref和out
ref和out使用时要注意的地方
报错:“Child”不能定义仅在参数修饰符“out”和“ref”上存在区别的重载 方法
因为:尽管ref和out运行时的处理方式不一样,但在编译时他们是一样的。因此如果一个方法仅用ref参数,一个方法仅用out参数,则无法重载这两个方法
除了ref之外,c#中还有一个关键词可以按照引用类型传参,那就是out
ref和out的区别
ref主要用于传参,out主要用于获取结果
方法的返回值可以用return 但是return只能返回一个值,而out可以返回多个。
out关键词:
1,定义和调用时必须显式使用关键词out
2,out关键词无法将参数值传递给out参数所在的方法中,只能传递参数的引用,所以out参数的参数初始化必须在方法中完成。否则报错。
例如上面的代码,public void AgeAdd(int age,out int lastAge,out int nextAage) 方法中必须对lastAge nextAage赋值
ref起到传参作用:
out是获取结果且可以返回多个值;return返回一个值。
使用Out 修饰形参必须得给形参赋值
ref起到传参作用:
out是获取结果且可以返回多个值;return返回一个值。
使用Out 修饰形参必须得给形参赋值
out 按引用类型获取方法的结果,可以返回多个值,return 可以返回多个值
ref 按引用类型传参
ref int a 相当于指针的用法
ref起到传参作用:
out是获取结果且可以返回多个值;return返回一个值。
使用Out 修饰形参必须得给形参赋值
out 关键字:按照引用类型接收输出参数的值
ref起到传参作用:
out是获取结果且可以返回多个值;return返回一个值。
使用Out 修饰形参必须得给形参赋值
ref起到传参作用;out是获取结果且可以返回多个值;return返回一个值
ref起到传参作用;out是获取结果且可以返回多个值;return返回一个值。
ref传参
out获取结果
return返回一个
out返回多个
out修饰的参数,必须在方法中赋值,out做输出结果的作用。
ref--》传参;
out--》获取结果。
return--》返回一个结果;
out--》可以返回多个结果。
同ref一样,需要在定义和调用的参数前面出现;但是因为out的变量用来返回,所以需要在调用前定义变量用来接收,而且在方法体需要赋值。
out的主要作用是获取结果,认为turn只能返回一个值,out可以返回多个值,在定义和调用的时候都需要写out
out返回多个值
return的加强版本
out是填在方法的括号之中的
out 关键字用来输出结果的,定义和调用都要写out,调用的时候不需要赋值,返回需要赋值。
out
return
return (返回一个)
out(返回多个)
ref(传参)
out(获取结果)
ref ------> 用来传参
out ------> 用来获取方法的计算结果,可以返回多个值
return -----> 只能返回一个值
ref ------> 用来传参
out ------> 用来获取方法的计算结果,可以返回多个值
return -----> 只能返回一个值
ref ------> 用来传参
out ------> 用来获取方法的计算结果,可以返回多个值
return -----> 只能返回一个值
关键字 out :
out和ref一样,可以让值类型参数按引用类型传参,但out还能返回结果。
out和return一样,都能返回结果,但return只能返回一个结果,out可以返回多个。
举例:
static void Growth(int age , out int age_lastYear, out int age_nextYear){
age_lastYear = age - 1;
age_nextYear = age + 1;
}
调用的时候,需要声明两个变量:int ly,int ny; 去接收返回的结果。
调用举例:
int age1 = 3;
int ly, ny;
Growth(age1,out ly, out ny);
return返回一个值
out返回多个值