IDictionary.Item[Object] Egenskap

Definition

Hämtar eller anger elementet med den angivna nyckeln.

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

Parametrar

key
Object

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

Egenskapsvärde

Elementet med den angivna nyckeln eller null om nyckeln inte finns.

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

Följande kodexempel visar hur du Item[] implementerar 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.

Implementeringar kan variera beroende på om de tillåter att nyckeln är null.

C#-språket använder det här nyckelordet this för att definiera indexerarna i stället för att Item[] implementera egenskapen. Visual Basic implementerar Item[] som en standardegenskap, vilket ger samma indexeringsfunktioner.

Gäller för

Se även