Sdílet prostřednictvím


Pole (Příručka programování C#)

A pole je proměnná typu, který je deklarován přímo v třídy nebo struct.Pole jsou členy jejich obsahující typu.

Pole instancí nebo statické pole může mít třídy nebo struct.Pole instance jsou specifické pro instanci typu.Máte-li pole instance F T, třídy, můžete vytvořit dva objekty typu t a upravit hodnoty f v každém objektu bez ovlivnění hodnoty do jiného objektu.Naopak statické pole patří k samotné třídy a je sdílena mezi všechny instance dané třídy.Změny z instance budou okamžitě viditelně instancí b a C-li získat přístup k poli.

Pole by obecně používá pouze pro proměnné, které mají soukromé nebo chráněné funkcemi usnadnění.Data poskytuje třída kódu klienta by poskytovány prostřednictvím metody, Vlastnosti a indexování.Pomocí těchto informací pro nepřímý přístup k interní pole můžete chránit před neplatné vstupní hodnoty.Pole private dat prostřednictvím veřejné vlastnosti se nazývá zálohování úložiště nebo zálohování pole.

Pole obvykle ukládat data, která musí být přístupný pro více než jednu metodu třídy a musí být skladovány déle než životnost jakékoli jediné metody.Například třída, která představuje datum může mít tři pole integer: jeden pro měsíce, jeden den a jeden za rok.Proměnné, které nejsou používány mimo rozsah jedné metody by měl být deklarován jako místní proměnné v rámci metody subjekt sám.

Pole jsou deklarovány v bloku třídy určením pole následované typu pole, následuje název pole úroveň přístupu.Příklad:

public class CalendarEntry
{
    // private field
    private DateTime date;

    // public field (Generally not recommended.)
    public string day;

    // Public property exposes date field safely.
    public DateTime Date 
    {
        get 
        {
            return date;
        }
        set 
        {
            // Set some reasonable boundaries for likely birth dates.
            if (value.Year > 1900 && value.Year <= DateTime.Today.Year)
            {
                date = value;
            }
            else
                throw new ArgumentOutOfRangeException();
        }

    }

    // Public method also exposes date field safely.
    // Example call: birthday.SetDate("1975, 6, 30");
    public void SetDate(string dateString)
    {
        DateTime dt = Convert.ToDateTime(dateString);

        // Set some reasonable boundaries for likely birth dates.
        if (dt.Year > 1900 && dt.Year <= DateTime.Today.Year)
        {
            date = dt;
        }
        else
            throw new ArgumentOutOfRangeException();
    }

    public TimeSpan GetTimeSpan(string dateString)
    {
        DateTime dt = Convert.ToDateTime(dateString);

        if (dt != null && dt.Ticks < date.Ticks)
        {
            return date - dt;
        }
        else
            throw new ArgumentOutOfRangeException();  

    }
}

Chcete-li pole v objektu, přidat tečku za název objektu následovaný názvem pole, jako v objectname.fieldname.Příklad:

CalendarEntry birthday = new CalendarEntry();
birthday.day = "Saturday";

Pole může být zadán počáteční hodnotu pomocí operátoru, když je pole deklarovaná.Automaticky přiřadit day pole na "Monday", by například deklarovat day jako v následujícím příkladu:

public class CalendarDateWithInitialization
{
    public string day = "Monday";
    //...
}

Pole jsou inicializovány bezprostředně před se nazývá konstruktor instance objektu.Jestliže konstruktor přiřadí hodnotu pole, přepíše libovolnou hodnotu během prohlášení pole.Další informace naleznete v tématu Pomocí konstruktorů (Příručka programování C#).

[!POZNÁMKA]

Inicializátor pole nelze odkazovat na ostatní pole instance.

Pole může být označen jako veřejné, soukromé, chráněné, vnitřní, nebo protected internal.Tyto modifikátory přístupu definovat přístup pole třídy uživatelů.Další informace naleznete v tématu Modifikátory přístupu (Příručka programování C#).

Pole lze volitelně deklarovat statické.Díky pole pro volající kdykoli, i v případě, že neexistuje žádná instance třídy.Další informace naleznete v tématu Statické třídy a členy statických tříd (Příručka programování C#).

Pole lze deklarovat readonly.Pole určené jen pro čtení lze přiřadit pouze hodnotu během inicializace nebo v konstruktoru.A staticreadonly pole je velmi podobné konstanta, s výjimkou, že kompilátor C# nemá přístup na hodnotu statické pole určené jen pro čtení v době kompilace, pouze v době spuštění.Další informace naleznete v tématu Konstanty (Příručka programování C#).

Specifikace jazyka C#

Další informace naleznete 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é

Referenční dokumentace

Třídy a struktur (Příručka programování C#)

Pomocí konstruktorů (Příručka programování C#)

Dědičnost (Příručka programování C#)

Modifikátory přístupu (Příručka programování C#)

Abstraktní a uzavřených tříd a členů tříd (Příručka programování C#)

Koncepty

Příručka programování C#