C# 中的 out 关键字

本文关键字:关键字 out 中的 | 更新日期: 2023-09-18 11:27:45

out 关键字可以与变量和方法参数一起使用。输出参数始终通过值类型和引用类型数据类型的引用传递。

使用 out 参数声明方法( Declare Method with Out Parameter )

out 关键字可以与变量声明或方法参数一起使用。

语法:
out <data type> <variable name>;
<method name>(out <data type> <parameter name>)

下面的示例演示了带有 out 参数的方法声明。

public static void OutParamExample(out int x){
    x = 100;
}

上面的示例使用一个 out 参数 x 定义了 OutParamExample() 方法。out 关键字在参数的类型和名称之前应用。

带 out 参数的调用方法( Calling Method with Out Parameter )

在调用包含 out 参数的方法之前,必须在不初始化的情况下声明变量。此外,在调用该方法时,必须传递带有 out 关键字的变量。

int a; // declare variable without initialization
OutParamExample(out a);// calling method with out keyword
Console.Write(a);// accessing out parameter value
public static void OutParamExample(out int x){
    x = 100;
}

C# 7 引入了一种声明 out 参数的新方法。在 C# 7 及更高版本中,无需在传递给参数之前声明 out 变量。现在可以在调用方法时声明它。

OutParamExample(out int a);// declare out variable while calling method
Console.Write(a);// accessing out parameter value
public static void OutParamExample(out int x){
    x = 100;
}
.box-4-multi-148{border:none !important;display:block !important;float:none !important;line-height:0px;margin-bottom:15px !important;margin-left:auto !important;margin-right:auto !important;margin-top:15px !important;

何时使用参数?( When to use out parameters? )

如果要从方法返回多个值,可以使用 out 参数。

下面的示例演示如何从单个方法调用中获取两个随机数。

public static void GetMultipleRandomValue(out int x, out int y)
{
    var random = new Random();
    x = random.Next();
    y = random.Next();
}
public static void Main()
{
    int random1, random2;
    GetMultipleRandomValue(out random1, out random2);
    Console.WriteLine($"{random1}, {random2}");
}

out 参数可用于消除返回空值的可能性。C# 在内置TryParse方法中有效地使用它。 C# 具有 int、float、char 和 bool 数据类型的Parse()TryParse()方法。Parse()TryParse() 方法之间的区别在于,Parse() 方法可以引发异常TryParse()而该方法永远不会引发异常,因为它使用 out 参数,如果成功,则将为其分配有效值。 检查TryParse()方法在converting string to int时如何使用 out 参数。


本文内容总结: