IDictionary.Item[Object] Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает элемент с указанным ключом.
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
Параметры
- key
- Object
Ключ элемента для получения или задания.
Значение свойства
Элемент с указанным ключом или null если ключ не существует.
Исключения
key равно null.
Свойство задано, и IDictionary объект доступен только для чтения.
–или–
Свойство задано, key не существует в коллекции и IDictionary имеет фиксированный размер.
Примеры
В следующем примере кода показано, как реализовать Item[] свойство. Этот пример кода является частью более крупного примера, предоставленного для IDictionary класса.
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
Комментарии
Это свойство обеспечивает возможность доступа к определенному элементу в коллекции с помощью следующего синтаксиса: myCollection[key]
Можно также использовать Item[] свойство для добавления новых элементов, задав значение ключа, который не существует в словаре (например, myCollection["myNonexistentKey"] = myValue). Однако если указанный ключ уже существует в словаре, установка Item[] свойства перезаписывает старое значение. Напротив, Add метод не изменяет существующие элементы.
Реализации могут различаться в том, разрешают ли они ключу быть null.
Язык C# использует this ключевое слово для определения индексаторов вместо реализации Item[] свойства. Visual Basic реализует Item[] как свойство по умолчанию, которое предоставляет те же функции индексирования.