在c#中,调用类的方法时,要先实例化类的对象,然后使用类名.方法名进行调用
![]()
这里就有一个类似于C++中形参和实参的问题了。
举例来说,要实现一个交换两个整型变量的值的功能,我们定义如下类:
class SwapNum
{
public void swap1(int a,int b)
{
int temp = a;
a = b;
b = temp;
}
public void swap2(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
}
static void Main(string[] args)
{
int a = 2, b = 3;
Console.WriteLine("初始值:a=" + a + ",b=" + b);
SwapNum swap = new SwapNum();
swap.swap1(a, b);
Console.WriteLine("第一次交换后:a=" + a + ",b=" + b);
swap.swap2(ref a, ref b);
Console.WriteLine("第二次交换后:a=" + a + ",b=" + b);
Console.ReadLine();
}
在这里面,swap1函数使用了参数值传递,swap2函数使用了引用传递。在使用引用参数调用时,接受参数值的改变会反馈到调用参数上。运行结果如下: