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

지정된 키를 가진 속성입니다. 해당 키가 없는 경우 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[] .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.

적용 대상

추가 정보