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; }
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.

プロパティ値

Object

指定したキーを持つ要素。該当するキーが存在しない場合は nullThe element with the specified key, or null if the key does not exist.

例外

keynullです。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[] ます。The following code example demonstrates how to implement the Item[] 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[] て、ディクショナリに存在しないキーの値 (など) を設定することによって、新しい要素を追加することもでき myCollection["myNonexistentKey"] = myValue ます。You can also use the Item[] 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[] 古い値が上書きされます。However, if the specified key already exists in the dictionary, setting the Item[] 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 プロパティを実装する代わりに、 thisキーワードを使用してインデクサーを定義し Item[] ます。The C# language uses the thisthis keyword to define the indexers instead of implementing the Item[] property. Visual Basic は、Item[] を既定のプロパティとして実装しており、同様のインデックス機能を提供します。Visual Basic implements Item[] as a default property, which provides the same indexing functionality.

適用対象

こちらもご覧ください