IDictionary<TKey,TValue>.Add(TKey, TValue) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
öğ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>.
IDictionary<TKey,TValue> salt okunurdur.
Ö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 null
göre farklılık gösterebilir.