PropertyCollection.IDictionary.Item[Object] Egenskap

Definition

Hämtar eller anger elementet med den angivna nyckeln.

property System::Object ^ System::Collections::IDictionary::Item[System::Object ^] { System::Object ^ get(System::Object ^ key); void set(System::Object ^ key, System::Object ^ value); };
object System.Collections.IDictionary.Item[object key] { get; set; }
member this.System.Collections.IDictionary.Item(obj) : obj with get, set
 Property Item(key As Object) As Object Implements IDictionary.Item

Parametrar

key
Object

Nyckeln för det element som ska hämtas eller anges.

Egenskapsvärde

Elementet med den angivna nyckeln.

Implementeringar

Undantag

key är null.

Egenskapen har angetts och objektet IDictionary är skrivskyddat.

-eller-

Egenskapen har angetts, key finns inte i samlingen och IDictionary har en fast storlek.

Exempel

I följande exempel visas hur du implementerar Item[] egenskapen. Det här kodexemplet är en del av ett större exempel för IDictionary klassen.

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

Kommentarer

Den här egenskapen ger möjlighet att komma åt ett specifikt element i samlingen med hjälp av följande syntax: myCollection[key].

Du kan också använda Item[] egenskapen för att lägga till nya element genom att ange värdet för en nyckel som inte finns i ordlistan (till exempel myCollection["myNonexistentKey"] = myValue). Men om den angivna nyckeln redan finns i ordlistan skriver egenskapen Item[] över det gamla värdet. Metoden ändrar däremot Add inte befintliga element.

Gäller för

Se även