IDictionary.Item[Object] Vlastnost

Definice

Získá nebo nastaví element se zadaným klíčem.

public:
 property System::Object ^ default[System::Object ^] { System::Object ^ get(System::Object ^ key); void set(System::Object ^ key, System::Object ^ value); };
public object this[object key] { get; set; }
public object? this[object key] { get; set; }
member this.Item(obj) : obj with get, set
Default Public Property Item(key As Object) As Object

Parametry

key
Object

Klíč elementu, který chcete získat nebo nastavit.

Hodnota vlastnosti

Prvek se zadaným klíčem nebo null pokud klíč neexistuje.

Výjimky

key je null.

Vlastnost je nastavena IDictionary a objekt je jen pro čtení.

-nebo-

Vlastnost je nastavená, key v kolekci neexistuje a IDictionary má pevnou velikost.

Příklady

Následující příklad kódu ukazuje, jak implementovat Item[] vlastnost. Tento příklad kódu je součástí většího příkladu IDictionary pro třídu.

public:
    virtual property Object^ default[Object^]
    {
        Object^ get(Object^ key)
        {
            // If this key is in the dictionary, return its value.
            int index;
            if (TryGetIndexOfKey(key, &index))
            {
                // The key was found; return its value.
                return items[index]->Value;
            }
            else
            {
                // The key was not found; return null.
                return nullptr;
            }
        }

        void set(Object^ key, Object^ value)
        {
            // If this key is in the dictionary, change its value.
            int index;
            if (TryGetIndexOfKey(key, &index))
            {
                // The key was found; change its value.
                items[index]->Value = value;
            }
            else
            {
                // This key is not in the dictionary; add this
                // key/value pair.
                Add(key, value);
            }
        }
    }
public object this[object key]
{
    get
    {
        // If this key is in the dictionary, return its value.
        Int32 index;
        if (TryGetIndexOfKey(key, out index))
        {
            // The key was found; return its value.
            return items[index].Value;
        }
        else
        {
            // The key was not found; return null.
            return null;
        }
    }

    set
    {
        // If this key is in the dictionary, change its value.
        Int32 index;
        if (TryGetIndexOfKey(key, out index))
        {
            // The key was found; change its value.
            items[index].Value = value;
        }
        else
        {
            // This key is not in the dictionary; add this key/value pair.
            Add(key, value);
        }
    }
}
Public Property Item(ByVal key As Object) As Object Implements IDictionary.Item
    Get

        ' If this key is in the dictionary, return its value.
        Dim index As Integer
        If TryGetIndexOfKey(key, index) Then

            ' The key was found return its value.
            Return items(index).Value
        Else

            ' The key was not found return null.
            Return Nothing
        End If
    End Get

    Set(ByVal value As Object)
        ' If this key is in the dictionary, change its value. 
        Dim index As Integer
        If TryGetIndexOfKey(key, index) Then

            ' The key was found change its value.
            items(index).Value = value
        Else

            ' This key is not in the dictionary add this key/value pair.
            Add(key, value)
        End If
    End Set
End Property

Poznámky

Tato vlastnost poskytuje možnost přístupu ke konkrétnímu prvku v kolekci pomocí následující syntaxe: myCollection[key].

Vlastnost můžete také použít Item[] k přidání nových prvků nastavením hodnoty klíče, který ve slovníku neexistuje (například myCollection["myNonexistentKey"] = myValue). Pokud však zadaný klíč již ve slovníku existuje, nastavení Item[] vlastnosti přepíše starou hodnotu. Naproti tomu Add metoda neupravuje existující prvky.

Implementace se můžou lišit v tom, jestli umožňují, aby klíč byl null.

Jazyk C# používá thisklíčové slovo toto k definování indexerů místo implementace Item[] vlastnosti. Visual Basic se implementuje Item[] jako výchozí vlastnost, která poskytuje stejné funkce indexování.

Platí pro

Viz také