init (Referenční dokumentace jazyka C#)

V C# 9 a novějších init klíčová slova definují metodu přístupového objektu ve vlastnosti nebo indexeru. Setter pouze pro inicializaci přiřadí hodnotu vlastnosti nebo prvku indexeru pouze během vytváření objektu. Další informace a příklady najdete v tématech vlastnosti, automaticky implementované vlastnostia indexery.

Následující příklad definuje jak get a init přístup k vlastnosti s názvem Seconds . K zálohování hodnoty vlastnosti používá soukromé pole s názvem _seconds .

class InitExample
{
     private double _seconds;

     public double Seconds
     {
         get { return _seconds; }
         init { _seconds = value; }
     }
}

initPřistupující objekt se často skládá z jediného příkazu, který přiřadí hodnotu, stejně jako v předchozím příkladu. Přístup k objektu můžete implementovat init jako člena Expression-těle. Následující příklad implementuje jak get a init přistupující objekty jako členy Expression-těle.

class InitExampleExpressionBodied
{
    private double _seconds;

    public double Seconds
    {
        get => _seconds;
        init => _seconds = value;
    }
}

Pro jednoduché případy, kdy přístup k vlastnostem get a init přistupující objekty neprovádí žádnou jinou operaci než nastavení nebo načtení hodnoty v soukromém poli pro zálohování, můžete využít podporu kompilátoru C# pro automaticky implementované vlastnosti. Následující příklad implementuje Hours jako automaticky implementovanou vlastnost.

class InitExampleAutoProperty
{
    public double Hours { get; init; }
}

specifikace jazyka C#

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také