引用参数是对变量的内存位置的引用。按引用传递参数与按值传递参数不同,不会为这些参数创建新的存储位置。引用参数表示与传递给方法的实际参数具有相同的存储位置。
可以使用ref
关键字声明引用参数。如下示例:
using System;
namespace CalculatorApplication
{
class NumberManipulator
{
public void swap(ref int x, ref int y)
{
int temp;
temp = x; /* save the value of x */
x = y; /* put y into x */
y = temp; /* put temp into y */
}
static void Main(string[] args)
{
NumberManipulator n = new NumberManipulator();
/* local variable definition */
int a = 100;
int b = 200;
Console.WriteLine("Before swap, value of a : {0}", a);
Console.WriteLine("Before swap, value of b : {0}", b);
/* calling a function to swap the values */
n.swap(ref a, ref b);
Console.WriteLine("After swap, value of a : {0}", a);
Console.WriteLine("After swap, value of b : {0}", b);
Console.ReadLine();
}
}
}
当编译和执行上述代码时,会产生以下结果:
Before swap, value of a : 100
Before swap, value of b : 200
After swap, value of a : 200
After swap, value of b : 100
它显示了在swap()
函数中的值已经更改,并且此更改在Main()
函数中有反映。
上一篇:
C#方法
下一篇:
C#可空类型(nullable)