IDictionary.Item[Object] Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.