out(C# 参考)

可以在以下两种上下文中使用 out 关键字:

当某个方法需要返回多个值时,out 关键字特别有用,因为可以使用多个 out 参数,例如

    public void Main()
    {
        double radiusValue = 3.92781;
        //Calculate the circumference and area of a circle, returning the results to Main().
        CalculateCircumferenceAndArea(radiusValue, out double circumferenceResult, out var areaResult);
        System.Console.WriteLine($"Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.");
        System.Console.WriteLine($"Area of a circle with a radius of {radiusValue} is {areaResult}.");
        Console.ReadLine();
    }

    //The calculation worker method.
    public static void CalculateCircumferenceAndArea(double radius, out double circumference, out double area)
    {
        circumference = 2 * Math.PI * radius;
        area = Math.PI * (radius * radius);
    }

以下限制适用于使用 out 关键字:

  • 异步方法中不允许使用 out 参数。
  • 迭代器方法中不允许使用 out 参数。
  • 属性不能作为 out 参数传递。