Sdílet prostřednictvím


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

Povolit indexování instance třídy nebo struktury indexovány stejně jako matice.Indexování vypadat Vlastnosti s tím rozdílem, že jejich přístupové objekty parametrů.

V následujícím příkladu je obecná třída definována a s jednoduchou získat a set přístupové metody jako prostředek pro přiřazení a načítání hodnot.Program Třídy vytvoří instanci této třídy pro ukládání řetězců.

class SampleCollection<T>
{
    // Declare an array to store the data elements.
    private T[] arr = new T[100];

    // Define the indexer, which will allow client code
    // to use [] notation on the class instance itself.
    // (See line 2 of code in Main below.)        
    public T this[int i]
    {
        get
        {
            // This indexer is very simple, and just returns or sets
            // the corresponding element from the internal array.
            return arr[i];
        }
        set
        {
            arr[i] = value;
        }
    }
}

// This class shows how client code uses the indexer.
class Program
{
    static void Main(string[] args)
    {
        // Declare an instance of the SampleCollection type.
        SampleCollection<string> stringCollection = new SampleCollection<string>();

        // Use [] notation on the type.
        stringCollection[0] = "Hello, World";
        System.Console.WriteLine(stringCollection[0]);
    }
}
// Output:
// Hello, World.

Další příklady naleznete v tématu Související oddíly.

Přehled indexování

  • Povolit indexování objekty podobným způsobem jako pole indexovat.

  • A get přistupujícího objektu vrátí hodnotu.A set přistupující přiřadí hodnotu.

  • Této klíčové slovo se používá k definování indexery.

  • Hodnoty klíčové slovo se používá k definování hodnoty přiřazení podle set indexeru.

  • Indexování není nutné indexovat celočíselnou hodnotu; je na vás jak definovat konkrétní vyhledávací mechanismus.

  • Indexování může být přetížený.

  • Indexování může mít více než jeden formální parametr, například při přístupu k dvourozměrné pole.

Související oddíly

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

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

Koncepty

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