许多方法是需要传递参数的:传递的参数分为:值传递、引用传递、输出参数、参数数组。
1、值传递:
把实参复制给形参,从此两者无关系。
2、引用传递 ref :
实参复制给形参、形参也可以通过函数改变原始的实参。
3、输出参数 out:
允许在函数中修改实参的值、也允许在函数中将变量初始化。
实例:
namespace 参数传递
{
class Program
{
static void exch(int a, int b) {
int t;
t = a;
a = b;
b = t;
}
static void Main(string[] args)
{
int x, y;
Console.WriteLine("请输入 x,y:");
x = Convert.ToInt16( Console.ReadLine());
y = Convert.ToInt16(Console.ReadLine());
exch(x, y);
Console.WriteLine("转换后的x,y的值:{0},{1}",x,y);
Console.ReadKey();
}
}
}
想要实现两个数字的交换,但是执行后发现:
没有实现两个数字的交换,这是为什么呢?
因为:参数的传入是值传递,传入后与实参没有关系了。所以不会实现交换。
将传入参数加入ref 既引用传递后就可以实现互换。
static void exch(ref int a,ref int b) ;
exch(ref x,ref y);