方法的重载一般在同一个类中,方法名相同并且方法的参数的个数不同,或者对应参数类型不同,可以构成重载 注意:方法重载和返回值没关系方法返回多个值static void Main(string[] arg...
static void Main(string[] args)
{
int number;
int result= test(out number);
Console.WriteLine("number={0},result={1}",number,result);
Console.ReadKey();
}
public static int test(out int a)
{
a = 20;
return (a);
}
以上代码
实现步骤:1)子啊方法的参数类型前面加out,那么在传参数的时候也必须在number前面加out,表明这个参数不是传入的而是用来传出值的。
为什么Console.WriteLine()的参数可以是字符串、数值型等等。
方法的重载
一般在同一个类中,方法名相同,但方法的参数个数不同或相位位置上参数的类型不同,就构成了方法的重载。
思考:
方法只能返回一个值,当需要返回多个值时怎么办?
方法的out参数和ref参数
函数参数默认是值传递的,也就是“复制一份”。
out则是方法内部为外部变量赋值,out一般用在函数需要有多个返回值的场所。
例如:int.TryParse.
注意:
1)在方法的参数类型前加out,那么传参数时,也必须在调用者的参数前加out, 表明这个参数是传出值,而不是传入值;
2)如果参数是以out形式传入的,那么在传入前可以不赋初值;
3)在方法中,对于有out修饰的参数,必须得赋值,而且赋值必须在使用前;
ref(引用)参数:
ref相当于c语言中的指针。
out用于传出值,ref是双向的,既可以传入也可以传出。
ref的作用机理相当于“文件与文件的快捷方式”
在ref传递参数时,在方法中或调用者中改变对应参数(或变量)的值,都会导致另外一端的值得改变。因为他们指向了同样的内存空间。
练习1:重复让用户输入一个数,判断该数是否是质数,输入q结束。
练习2:将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”(用方法实现)
练习3:用方法实现找出一个int类型数组中最大值和最小值;
练习4:写一个方法,实现int.TryParse的功能。
学员评论
冷圈圈圈圈2014-08-20
风之谷_5a02014-02-12
落雅秋齐2013-06-16
jk3h5jk435h2013-04-24
你感兴趣的课程
扫一扫 关注好知微信