IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue) IDictionary<TKey,TValue>.Add(TKey, TValue) Method

定義

指定したキーおよび値を持つ要素を IDictionary<TKey,TValue> オブジェクトに追加します。Adds an element with the provided key and value to the IDictionary<TKey,TValue>.

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

パラメーター

key
TKey TKey TKey TKey

追加する要素のキーとして使用するオブジェクト。The object to use as the key of the element to add.

value
TValue TValue TValue TValue

追加する要素の値として使用するオブジェクト。The object to use as the value of the element to add.

例外

同じキーを持つ要素が、IDictionary<TKey,TValue> に既に存在します。An element with the same key already exists in the IDictionary<TKey,TValue>.

次のコード例では、 Dictionary<TKey,TValue>整数キーを使用して空の文字列を作成しIDictionary<TKey,TValue> 、インターフェイスを介してそれにアクセスします。The following code example creates an empty Dictionary<TKey,TValue> of strings, with integer keys, and accesses it through the IDictionary<TKey,TValue> interface. このコード例ではAdd 、メソッドを使用していくつかの要素を追加します。The code example uses the Add method to add some elements. 例では重複するキーを追加しようとしたとき、Addメソッドが、例外ArgumentExceptionを投げることを示しています。The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

このコードは、コンパイルして実行できる大きな例の一部です。This code is part of a larger example that can be compiled and executed. 以下を参照してください。System.Collections.Generic.IDictionary<TKey,TValue>See System.Collections.Generic.IDictionary<TKey,TValue>.

// Create a new dictionary of strings, with string keys,
// and access it through the IDictionary generic interface.
IDictionary<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, 
// and access it through the IDictionary generic interface.
IDictionary<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, 
' and access it through the IDictionary generic interface.
Dim openWith As IDictionary(Of String, String) = _
    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]しないキーの値を設定することによって、プロパティを使用して新しい要素を追加することC#もmyCollection("myNonexistentKey") = myValueできます。たとえば、 myCollection["myNonexistentKey"] = myValue (Visual Basic の) のようになります。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; for example, myCollection["myNonexistentKey"] = myValue in C# (myCollection("myNonexistentKey") = myValue in Visual Basic). ただし、指定したキーがディクショナリに既に存在する場合Item[TKey]は、プロパティを設定すると古い値が上書きされます。However, if the specified key already exists in the dictionary, setting the Item[TKey] property overwrites the old value. これに対してAdd 、メソッドは既存の要素を変更しません。In contrast, the Add method does not modify existing elements.

実装は、オブジェクトが等しいかどうかを判断する方法によって異なります。たとえばList<T> 、クラスはをDictionary<TKey,TValue>使用Comparer<T>.Defaultしますが、クラスでは、キーのIComparer<T>比較に使用する実装をユーザーが指定できます。Implementations can vary in how they determine equality of objects; for example, the List<T> class uses Comparer<T>.Default, whereas the Dictionary<TKey,TValue> class allows the user to specify the IComparer<T> implementation to use for comparing keys.

実装は、にすることがkey許可さnullれているかどうかによって異なります。Implementations can vary in whether they allow key to be null.

適用対象

こちらもご覧ください