在方法中利用ref和out作为返回值,介绍方法的重载

方法的参数类型

调用方法时可以给该方法传递一个或多个值,传递给方法的值叫做实参,在方法内部,接收实参的变量叫作形参形参在紧跟在方法名的括号中声明,形参只在括号内部有效,可以通过params、ref和out实现
1.ref参数
使方法参数按照引用传递, 在方法声明和调用方法都必须显示使用ref关键字。
ref用的时候必须给这个变量赋初值,和out有区别。out可以把方法里的值传出去;ref可以把值传到方法里,又可以把值传到方法外面。

public static void Method(ref int i)
{
  i=33;
  return i;
}
public static void Main(
{
int a=1;//利用ref 变量a必须要初始化
Method(ref a);
Console.WriteLine(a);//最后输出33
Console.Read();
}

2.out参数
使方法参数按照引用传递,out关键字定义的参数不用进行初始。out是内部为外部变量赋值,out一般用在需要有多个返回值的场所。
注意:如果方法的参数用out修饰了,那么在方法外面可以不给这个参数赋值,但是在方法里面必须给这个参数进行赋初值。另外,参数加out,是把这个方法中的参数的值传到方法外面去了。

public static void Method(out int i)
{
i=33;
}
public static void Main(
{
int a;
Method(out a);
Console.WriteLine(a);//最后输出33
Console.Read();

3.方法的重载
方法的重载是指方法名相同,但参数的数据类型、个数或顺序不同的方法。
例如:

public static int Add(int x,int y)
{
return x+y;
}
public double Add(double x,double y)
{
return x+y;
}
public int Add(int x,int y,int z)
{
return x+y+z;
}
static void Main(string[] args)
{
Program program=new Program();
int x1=1;
int y1=2;
int z1=3;
double x2=1.0;
double y2=2.0;
Console.WriteLine(Program.Add(x1,y1));//Add方法的重载    (1)
Console.WriteLine(program.Add(x1,y1,z1));             // (2)
Console.WriteLine(program.Add(x2,y2));
}

在上述方法重载的时候注意看(1),(2)的区别,(1)是类名调用,(2)是对象调用。这个静态方法与非静态方法的一个区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值