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. 以下を参照してください。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[] て、ディクショナリに存在しないキーの値を設定して新しい要素を追加することもできます。たとえば、 myCollection["myNonexistentKey"] = myValue C# の (Visual Basic) のようにし 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.

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

適用対象

こちらもご覧ください