IDictionary<TKey,TValue>.Add(TKey, TValue) Yöntem

Tanım

öğesine sağlanan anahtar ve değere IDictionary<TKey,TValue>sahip bir öğe ekler.

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)

Parametreler

key
TKey

Eklenecek öğenin anahtarı olarak kullanılacak nesne.

value
TValue

Eklenecek öğenin değeri olarak kullanılacak nesne.

Özel durumlar

key, null değeridir.

içinde aynı anahtara sahip bir öğe zaten var IDictionary<TKey,TValue>.

Örnekler

Aşağıdaki kod örneği, tamsayı tuşlarıyla boş Dictionary<TKey,TValue> bir dize oluşturur ve arabirim üzerinden bu dizeye IDictionary<TKey,TValue> erişir. Kod örneği, bazı öğeleri eklemek için yöntemini kullanır Add . Örnek, yinelenen bir anahtar eklemeye çalışırken yönteminin bir ArgumentException oluşturduğunu Add gösterir.

Bu kod, derlenip yürütülebilen daha büyük bir örneğin parçasıdır. Bkz. 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

Açıklamalar

Özelliğini, sözlükte Item[] bulunmayan bir anahtarın değerini ayarlayarak yeni öğeler eklemek için de kullanabilirsiniz; örneğin, myCollection["myNonexistentKey"] = myValue C# dilinde (myCollection("myNonexistentKey") = myValue Visual Basic'te). Ancak, belirtilen anahtar sözlükte zaten varsa, özelliğini ayarlamak Item[] eski değerin üzerine yazar. Buna karşılık, Add yöntemi mevcut öğeleri değiştirmez.

Uygulamalar, nesnelerin eşitliğini belirleme şekline göre farklılık gösterebilir; örneğin, List<T> sınıfı kullanır Comparer<T>.Default, ancak Dictionary<TKey,TValue> sınıfı kullanıcının anahtarları karşılaştırmak için kullanılacak uygulamayı belirtmesine IComparer<T> izin verir.

Uygulamalar, olmasına izin key verip vermediklerine nullgöre farklılık gösterebilir.

Şunlara uygulanır

Ayrıca bkz.