IDictionary.Item[Object] Свойство

Определение

Возвращает или задает элемент с указанным ключом.Gets or sets the element with the specified key.

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

Параметры

key
Object

Ключ элемента, который требуется получить или задать.The key of the element to get or set.

Значение свойства

Элемент с указанным ключом либо null, если такого ключа не существует.The element with the specified key, or null if the key does not exist.

Исключения

key имеет значение null.key is null.

Свойство задано, и объект IDictionary доступен только для чтения.The property is set and the IDictionary object is read-only.

-или--or- Свойство задано, key не существует в коллекции, а IDictionary имеет фиксированный размер.The property is set, key does not exist in the collection, and the IDictionary has a fixed size.

Примеры

В следующем примере кода показано, как реализовать свойство Item[Object].The following code example demonstrates how to implement the Item[Object] property. Этот пример кода является частью большого примера, приведенного для класса IDictionary.This code example is part of a larger example provided for the IDictionary class.

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

Комментарии

Это свойство предоставляет доступ к указанному элементу коллекции при использовании следующего синтаксиса: myCollection[key].This property provides the ability to access a specific element in the collection by using the following syntax: myCollection[key].

Можно также использовать свойство Item[Object], чтобы добавить новые элементы, задав значение ключа, который не существует в словаре (например, myCollection["myNonexistentKey"] = myValue).You can also use the Item[Object] property to add new elements by setting the value of a key that does not exist in the dictionary (for example, myCollection["myNonexistentKey"] = myValue). Однако если указанный ключ уже существует в словаре, установка свойства Item[Object] перезаписывает старое значение.However, if the specified key already exists in the dictionary, setting the Item[Object] property overwrites the old value. В отличие от этого, метод Add не изменяет существующие элементы.In contrast, the Add method does not modify existing elements.

Реализации могут зависеть от того, допускают ли nullключ.Implementations can vary in whether they allow the key to be null.

C# Язык использует thisэто ключевое слово, чтобы определить индексаторы вместо реализации свойства Item[Object].The C# language uses the thisthis keyword to define the indexers instead of implementing the Item[Object] property. В языке Visual Basic в качестве свойства по умолчанию реализовано свойство Item[Object], предоставляющее те же возможности индексирования.Visual Basic implements Item[Object] as a default property, which provides the same indexing functionality.

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

Дополнительно