Skip to content

EN CSharp Keyword out

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C#: out

Handbook C# · Practical Guide

Allows the method to write the result to the parameter; the method must assign it before returning normally. In the generic type, sets the covariance.

Simple example (Example.cs)

Save this example separately as Example.cs. Run it independently of the other examples on this page.

Example.cs:

// PROJECT-EXAMPLE
if (int.TryParse("12", out int number))
    System.Console.WriteLine(number);

Result:

12

Syntax

Method(out value) / interface IProducer<out T>

Example 1: simple form

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        if (int.TryParse("42", out int number)) Console.WriteLine(number);
    }
}

Example 2: another practical form

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        IProducer<string> text = new TextProducer();
        IProducer<object> value = text;
        Console.WriteLine(value.Create());
    }
}
public interface IProducer<out T> { T Create(); }
public class TextProducer : IProducer<string> { public string Create() => "ore"; }

Official source: Microsoft Learn.

Clone this wiki locally