IDictionary<TKey,TValue>.Add(TKey, TValue) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したキーおよび値を持つ要素を 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
追加する要素のキーとして使用するオブジェクト。
- value
- TValue
追加する要素の値として使用するオブジェクト。
例外
key
が null
です。
同じキーを持つ要素が、IDictionary<TKey,TValue> に既に存在します。
IDictionary<TKey,TValue> は読み取り専用です。
例
次のコード例では、整数キーを Dictionary<TKey,TValue> 使用して空の文字列を作成し、 インターフェイスを IDictionary<TKey,TValue> 介してアクセスします。 コード例では、 メソッドを Add 使用していくつかの要素を追加します。 この例では、重複するキーを Add 追加しようとしたときに メソッドが を ArgumentException スローすることを示します。
このコードは、コンパイルおよび実行できる大きな例の一部です。 以下を参照してください。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# (myCollection("myNonexistentKey") = myValue
Visual Basic では ) です。 ただし、指定したキーがディクショナリに既に存在する場合は、 プロパティを Item[] 設定すると古い値が上書きされます。 これに対し、 メソッドは既存の Add 要素を変更しません。
実装は、オブジェクトの等価性を決定する方法によって異なる場合があります。たとえば、 クラスでは を List<T> 使用 Comparer<T>.Defaultしますが、 Dictionary<TKey,TValue> クラスを使用すると、ユーザーは IComparer<T> キーの比較に使用する実装を指定できます。
実装は、 を 許可するかどうかによって異なる場合 key
があります null
。
適用対象
こちらもご覧ください
.NET