c# out ref param
时间: 2023-12-31 19:03:25 浏览: 31
在 C# 中,可以使用 `out` 和 `ref` 关键字来传递参数给方法。它们允许方法修改调用者提供的变量的值。
当使用 `ref` 关键字时,方法可以修改调用者提供的变量的值,而当使用 `out` 关键字时,调用者不需要提供变量的初始值,而方法必须为变量赋值。
下面是一个使用 `ref` 关键字的示例:
```csharp
public void Increment(ref int value)
{
value++;
}
int number = 5;
Increment(ref number);
Console.WriteLine(number); // 输出 6
```
下面是一个使用 `out` 关键字的示例:
```csharp
public void Divide(int dividend, int divisor, out int quotient, out int remainder)
{
quotient = dividend / divisor;
remainder = dividend % divisor;
}
int dividend = 10;
int divisor = 3;
int quotient;
int remainder;
Divide(dividend, divisor, out quotient, out remainder);
Console.WriteLine($"{dividend} divided by {divisor} is {quotient} with a remainder of {remainder}"); // 输出 "10 divided by 3 is 3 with a remainder of 1"
```
需要注意的是,`out` 和 `ref` 关键字只能用于引用类型和值类型,不能用于静态类型和常量。此外,使用这些关键字时,需要确保变量已经被初始化。