IDictionary<TKey,TValue>.Add(TKey, TValue) メソッド

定義

指定したキーおよび値を持つ要素を 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

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

value
TValue

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

例外

keynull です。key is null.

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

IDictionary<TKey,TValue> は読み取り専用です。The IDictionary<TKey,TValue> is read-only.

次のコード例では、整数キーを使用して文字列の空の 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. https://docs.microsoft.com/azure/active-directory/develop/scenario-protected-web-api-overview をご覧ください。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[] プロパティを使用して、ディクショナリに存在しないキーの値を設定することにより、新しい要素を追加することもできます。たとえば、 C# (Visual Basic のmyCollection("myNonexistentKey") = myValue) の 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 in C# (myCollection("myNonexistentKey") = myValue in Visual Basic). ただし、指定したキーがディクショナリに既に存在する場合は、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.

実装は、オブジェクトが等しいかどうかを判断する方法によって異なります。たとえば、List<T> クラスは Comparer<T>.Defaultを使用しますが、Dictionary<TKey,TValue> クラスでは、キーの比較に使用する 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.

実装は、keynullできるかどうかによって異なります。Implementations can vary in whether they allow key to be null.

適用対象

こちらもご覧ください