Dictionary<TKey,TValue>.Add(TKey, TValue) 메서드

정의

지정한 키와 값을 사전에 추가합니다.Adds the specified key and value to the dictionary.

public:
 virtual void Add(TKey key, TValue value);
public void Add (TKey key, TValue value);
abstract member Add : 'Key * 'Value -> unit
override this.Add : 'Key * 'Value -> unit
Public Sub Add (key As TKey, value As TValue)

매개 변수

key
TKey

추가할 요소의 키입니다.The key of the element to add.

value
TValue

추가할 요소의 값입니다.The value of the element to add. 참조 형식에 대해 값은 null이 될 수 있습니다.The value can be null for reference types.

구현

예외

keynull인 경우key is null.

같은 키를 가진 요소가 이미 Dictionary<TKey,TValue>에 있는 경우An element with the same key already exists in the Dictionary<TKey,TValue>.

예제

참고

이 문서의 C# 예제는 Try.NET 인라인 코드 러너 및 놀이터에서 실행됩니다.The C# examples in this article run in the Try.NET inline code runner and playground. 대화형 창에서 예제를 실행하려면 실행 버튼을 선택합니다.Select the Run button to run an example in an interactive window. 코드를 실행하면 실행을 다시 선택하여 코드를 수정하고 수정된 코드를 실행할 수 있습니다.Once you execute the code, you can modify it and run the modified code by selecting Run again. 수정된 코드는 대화형 창에서 실행되거나, 컴파일이 실패하면 대화형 창에 모든 C# 컴파일러 오류 메시지가 표시됩니다.The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

다음 코드 예제에서는 문자열 키를 사용 하 여 빈 Dictionary<TKey,TValue> 문자열을 만들고 Add 메서드를 사용 하 여 일부 요소를 추가 합니다.The following code example creates an empty Dictionary<TKey,TValue> of strings with string keys and uses the Add method to add some elements. 이 예제에서는 Add 메서드에서 중복 키를 추가 하려고 할 때 ArgumentException를 throw 하는 방법을 보여 줍니다.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

이 코드 예제는에 대해 제공 된 큰 예제의 일부는 Dictionary<TKey,TValue> 클래스입니다.This code example is part of a larger example provided for the Dictionary<TKey,TValue> class.

// Create a new dictionary of strings, with string keys.
//
Dictionary<String^, String^>^ openWith =
    gcnew Dictionary<String^, String^>();

// Add some elements to the dictionary. There are no
// duplicate keys, but some of the values are duplicates.
openWith->Add("txt", "notepad.exe");
openWith->Add("bmp", "paint.exe");
openWith->Add("dib", "paint.exe");
openWith->Add("rtf", "wordpad.exe");

// The Add method throws an exception if the new key is
// already in the dictionary.
try
{
    openWith->Add("txt", "winword.exe");
}
catch (ArgumentException^)
{
    Console::WriteLine("An element with Key = \"txt\" already exists.");
}
// Create a new dictionary of strings, with string keys.
//
Dictionary<string, string> openWith = 
    new Dictionary<string, string>();

// Add some elements to the dictionary. There are no 
// duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "paint.exe");
openWith.Add("dib", "paint.exe");
openWith.Add("rtf", "wordpad.exe");

// The Add method throws an exception if the new key is 
// already in the dictionary.
try
{
    openWith.Add("txt", "winword.exe");
}
catch (ArgumentException)
{
    Console.WriteLine("An element with Key = \"txt\" already exists.");
}
' Create a new dictionary of strings, with string keys.
'
Dim openWith As New Dictionary(Of String, String)

' Add some elements to the dictionary. There are no 
' duplicate keys, but some of the values are duplicates.
openWith.Add("txt", "notepad.exe")
openWith.Add("bmp", "paint.exe")
openWith.Add("dib", "paint.exe")
openWith.Add("rtf", "wordpad.exe")

' The Add method throws an exception if the new key is 
' already in the dictionary.
Try
    openWith.Add("txt", "winword.exe")
Catch 
    Console.WriteLine("An element with Key = ""txt"" already exists.")
End Try

설명

Item[TKey] 속성을 사용 하 여 Dictionary<TKey,TValue>에 없는 키 값을 설정 하 여 새 요소를 추가할 수도 있습니다. 예를 들어 myCollection[myKey] = myValue (Visual Basic, myCollection(myKey) = myValue)입니다.You can also use the Item[TKey] property to add new elements by setting the value of a key that does not exist in the Dictionary<TKey,TValue>; for example, myCollection[myKey] = myValue (in Visual Basic, myCollection(myKey) = myValue). 그러나 지정 된 키가 이미 Dictionary<TKey,TValue>에 있는 경우에는 Item[TKey] 속성을 설정 하 여 이전 값을 덮어씁니다.However, if the specified key already exists in the Dictionary<TKey,TValue>, setting the Item[TKey] property overwrites the old value. 반대로, 지정 된 키가 있는 값이 이미 있는 경우 Add 메서드에서 예외를 throw 합니다.In contrast, the Add method throws an exception if a value with the specified key already exists.

Count 속성 값이 이미 용량과 같은 경우 내부 배열을 자동으로 재할당 하 여 Dictionary<TKey,TValue> 용량이 늘어나고, 새 요소가 추가 되기 전에 기존 요소가 새 배열에 복사 됩니다.If the Count property value already equals the capacity, the capacity of the Dictionary<TKey,TValue> is increased by automatically reallocating the internal array, and the existing elements are copied to the new array before the new element is added.

null수는 없지만 TValue 참조 형식인 경우 값은 일 수 있습니다.A key cannot be null, but a value can be, if TValue is a reference type.

Count 용량 보다 작은 경우이 메서드는 O (1) 작업에 접근 합니다.If Count is less than the capacity, this method approaches an O(1) operation. 새 요소를 수용할 수 있도록 용량을 늘려야 하는 경우이 메서드는 n Count되는 O (n) 작업이 됩니다.If the capacity must be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.

적용 대상

추가 정보