IDictionary.Item[Object] Eigenschaft

Definition

Ruft das Element mit dem angegebenen Schlüssel ab oder legt dieses fest.Gets or sets the element with the specified key.

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; }
member this.Item(obj) : obj with get, set
Default Public Property Item(key As Object) As Object

Parameter

key
Object

Der Schlüssel des abzurufenden oder festzulegenden Elements.The key of the element to get or set.

Eigenschaftswert

Das Element mit dem angegebenen Schlüssel oder null, wenn der Schlüssel nicht vorhanden ist.The element with the specified key, or null if the key does not exist.

Ausnahmen

key ist null.key is null.

Die Eigenschaft wird festgelegt, und das IDictionary-Objekt ist schreibgeschützt.The property is set and the IDictionary object is read-only.

- oder --or- Die Eigenschaft wird festgelegt, key ist in der Auflistung nicht vorhanden, und der IDictionary hat eine feste Größe.The property is set, key does not exist in the collection, and the IDictionary has a fixed size.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Item[Object]-Eigenschaft implementiert wird.The following code example demonstrates how to implement the Item[Object] property. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die IDictionary-Klasse bereitgestellt wird.This code example is part of a larger example provided for the IDictionary class.

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

Hinweise

Diese Eigenschaft ermöglicht den Zugriff auf ein bestimmtes Element in der Auflistung mithilfe folgender Syntax: myCollection[key].This property provides the ability to access a specific element in the collection by using the following syntax: myCollection[key].

Sie können auch die Item[Object]-Eigenschaft verwenden, um neue Elemente hinzuzufügen, indem Sie den Wert eines Schlüssels festlegen, der nicht im Wörterbuch vorhanden ist (z. b. myCollection["myNonexistentKey"] = myValue).You can also use the Item[Object] property to add new elements by setting the value of a key that does not exist in the dictionary (for example, myCollection["myNonexistentKey"] = myValue). Wenn der angegebene Schlüssel jedoch bereits im Wörterbuch vorhanden ist, überschreibt das Festlegen der Item[Object] Eigenschaft den alten Wert.However, if the specified key already exists in the dictionary, setting the Item[Object] property overwrites the old value. Im Gegensatz dazu werden durch die Add-Methode vorhandene Elemente nicht geändert.In contrast, the Add method does not modify existing elements.

Implementierungen können unterschiedlich sein, unabhängig davon, ob Sie den Schlüssel nullkönnen.Implementations can vary in whether they allow the key to be null.

Die C# Sprache verwendet das thisthis -Schlüsselwort, um die Indexer zu definieren, anstatt die Item[Object]-Eigenschaft zu implementieren.The C# language uses the thisthis keyword to define the indexers instead of implementing the Item[Object] property. Visual Basic implementiert Item[Object] als Standardeigenschaft und stellt auf diese Weise dieselbe Indizierungsfunktionalität bereit.Visual Basic implements Item[Object] as a default property, which provides the same indexing functionality.

Gilt für:

Siehe auch