out (Referenční dokumentace jazyka C#)

Klíčové slovo můžete použít out ve dvou kontextech:

  • Jako modifikátor parametrů, který umožňuje předat argument metodě odkazem, nikoli hodnotou.

  • V deklarací parametru obecného typu pro rozhraní a delegáty, která určuje, že parametr typu je kovariantní.

Klíčové out slovo je zvlášť užitečné, když metoda potřebuje vrátit více než jednu hodnotu, protože lze použít více než jeden out parametr, například.

    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 areaResult);
        System.Console.WriteLine($"Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.");
        System.Console.WriteLine($"Are 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);
    }

Pro použití klíčového out slova platí následující omezení:

  • out parametry nejsou povoleny v asynchronních metodách.
  • out parametry nejsou povoleny v metodách iterátoru.
  • Vlastnosti nelze předat jako out parametry.