C# out和ref
时间: 2024-06-13 10:09:20 浏览: 82
在C#中,out和ref都是用于传递参数的关键字,它们的主要区别在于:
1. ref关键字用于将一个变量传递给方法,并允许方法修改该变量的值。在使用ref关键字时,传递的变量必须在调用方法之前进行初始化。
2. out关键字也用于将一个变量传递给方法,但是它要求方法必须为该变量赋值。在使用out关键字时,传递的变量可以在调用方法之前未被初始化。
下面是两个使用ref和out关键字的例子:
1. 使用ref关键字:
```csharp
class Program {
static void Main(string[] args) {
Program pg = new Program();
int x = 10;
int y = 20;
pg.GetValue(ref x, ref y);
Console.WriteLine("x={0},y={1}", x, y);
Console.ReadLine(); }
public void GetValue(ref int x, ref int y) {
x = 333;
y = 444;
}
}
```
输出结果为:x=333,y=444
2. 使用out关键字:
```csharp
class Program {
static void Main(string[] args) {
Program pg = new Program();
int x;
int y;
pg.GetValue(out x, out y);
Console.WriteLine("x={0},y={1}", x, y);
Console.ReadLine();
}
public void GetValue(out int x, out int y) {
x = 1000;
y = 1;
}
}
```
输出结果为:x=1000,y=1
阅读全文