ref修饰符声明的参数是引用参数,与值参数不同,引用参数并不创建存储位置,引用参数表示存储位置就是在方法调用中,就是引用变量或对象的存储空间
,引用参数即能将值带进方法,也能将方法带出方法,变量在引用参数传递之前,必须先明确赋值,在方法内部引用参数与始终被认为是已经明确赋值的,你代码运行一下,然后看一下上面的讲解就ok了- using System;
- class Test
- {
- static void Swap(ref int x, ref int y)
- {
- Console.WriteLine("进入Swap时:x={0},y={1}",x,y);
- int temp = x;
- x = y;
- y = temp;
- Console.WriteLine("退出Swap时:x={0},y={1}", x, y);
- }
- static void Main()
- {
- int i = 1, j = 2;
- Console.WriteLine("执行Swap前:x={0},y={1}", i, j);
- Swap(ref i, ref j); ;
- Console.WriteLine("执行Swap后:x={0},y={1}", i, j);
-
- }
- }
复制代码 |