IDictionary.Item[Object] Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft das Element mit dem angegebenen Schlüssel ab oder legt dieses fest.
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
Parameter
- key
- Object
Der Schlüssel des Elements, das abgerufen oder festgelegt werden soll.
Eigenschaftswert
Das Element mit dem angegebenen Schlüssel oder null
, wenn der Schlüssel nicht vorhanden ist.
Ausnahmen
key
ist null
.
Die Eigenschaft wird festgelegt, und das IDictionary-Objekt ist schreibgeschützt.
- oder -
Die Eigenschaft wird festgelegt, key
ist in der Auflistung nicht vorhanden, und der IDictionary hat eine feste Größe.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die Item[] -Eigenschaft implementiert wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die IDictionary-Klasse bereitgestellt wird.
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
Über diese Eigenschaft können Sie mithilfe der folgenden Syntax auf ein bestimmtes Element der Auflistung zugreifen: myCollection[key]
.
Sie können die Item[] -Eigenschaft auch verwenden, um neue Elemente hinzuzufügen, indem Sie den Wert eines Schlüssels festlegen, myCollection["myNonexistentKey"] = myValue
der im Wörterbuch nicht vorhanden ist (z. B. ). Wenn der angegebene Schlüssel jedoch bereits im Wörterbuch vorhanden ist, überschreibt das Festlegen der Item[] Eigenschaft den alten Wert. Im Gegensatz dazu ändert die Add Methode vorhandene Elemente nicht.
Implementierungen können variieren, ob sie den Schlüssel zulassen null
.
Die C#-Sprache verwendet die this
Schlüsselwort (keyword), um die Indexer zu definieren, anstatt die Item[] -Eigenschaft zu implementieren. Visual Basic implementiert Item[] als Standardeigenschaft und stellt auf diese Weise dieselbe Indizierungsfunktionalität bereit.