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[] как свойство по умолчанию, которое предоставляет те же функции индексирования.

Применяется к

См. также раздел