HybridDictionary.Add(Object, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定鍵與值的條目加入 HybridDictionary。
public:
virtual void Add(System::Object ^ key, System::Object ^ value);
public void Add(object key, object value);
public void Add(object key, object? value);
abstract member Add : obj * obj -> unit
override this.Add : obj * obj -> unit
Public Sub Add (key As Object, value As Object)
參數
- key
- Object
新增的重點是。
- value
- Object
這個條目的價值值得加入。 其值可以是 null。
實作
例外狀況
key 是 null。
在 中 HybridDictionary已經存在一個具有相同鍵的項目。
範例
以下程式碼範例對 元素的加減與移除。HybridDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
public class SamplesHybridDictionary {
public static void Main() {
// Creates and initializes a new HybridDictionary.
HybridDictionary myCol = new HybridDictionary();
myCol.Add( "Braeburn Apples", "1.49" );
myCol.Add( "Fuji Apples", "1.29" );
myCol.Add( "Gala Apples", "1.49" );
myCol.Add( "Golden Delicious Apples", "1.29" );
myCol.Add( "Granny Smith Apples", "0.89" );
myCol.Add( "Red Delicious Apples", "0.99" );
myCol.Add( "Plantain Bananas", "1.49" );
myCol.Add( "Yellow Bananas", "0.79" );
myCol.Add( "Strawberries", "3.33" );
myCol.Add( "Cranberries", "5.98" );
myCol.Add( "Navel Oranges", "1.29" );
myCol.Add( "Grapes", "1.99" );
myCol.Add( "Honeydew Melon", "0.59" );
myCol.Add( "Seedless Watermelon", "0.49" );
myCol.Add( "Pineapple", "1.49" );
myCol.Add( "Nectarine", "1.99" );
myCol.Add( "Plums", "1.69" );
myCol.Add( "Peaches", "1.99" );
// Displays the values in the HybridDictionary in three different ways.
Console.WriteLine( "Initial contents of the HybridDictionary:" );
PrintKeysAndValues( myCol );
// Deletes a key.
myCol.Remove( "Plums" );
Console.WriteLine( "The collection contains the following elements after removing \"Plums\":" );
PrintKeysAndValues( myCol );
// Clears the entire collection.
myCol.Clear();
Console.WriteLine( "The collection contains the following elements after it is cleared:" );
PrintKeysAndValues( myCol );
}
public static void PrintKeysAndValues( IDictionary myCol ) {
Console.WriteLine( " KEY VALUE" );
foreach ( DictionaryEntry de in myCol )
Console.WriteLine( " {0,-25} {1}", de.Key, de.Value );
Console.WriteLine();
}
}
/*
This code produces output similar to the following:
Initial contents of the HybridDictionary:
KEY VALUE
Seedless Watermelon 0.49
Nectarine 1.99
Cranberries 5.98
Plantain Bananas 1.49
Honeydew Melon 0.59
Pineapple 1.49
Strawberries 3.33
Grapes 1.99
Braeburn Apples 1.49
Peaches 1.99
Red Delicious Apples 0.99
Golden Delicious Apples 1.29
Yellow Bananas 0.79
Granny Smith Apples 0.89
Gala Apples 1.49
Plums 1.69
Navel Oranges 1.29
Fuji Apples 1.29
The collection contains the following elements after removing "Plums":
KEY VALUE
Seedless Watermelon 0.49
Nectarine 1.99
Cranberries 5.98
Plantain Bananas 1.49
Honeydew Melon 0.59
Pineapple 1.49
Strawberries 3.33
Grapes 1.99
Braeburn Apples 1.49
Peaches 1.99
Red Delicious Apples 0.99
Golden Delicious Apples 1.29
Yellow Bananas 0.79
Granny Smith Apples 0.89
Gala Apples 1.49
Navel Oranges 1.29
Fuji Apples 1.29
The collection contains the following elements after it is cleared:
KEY VALUE
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class SamplesHybridDictionary
Public Shared Sub Main()
' Creates and initializes a new HybridDictionary.
Dim myCol As New HybridDictionary()
myCol.Add("Braeburn Apples", "1.49")
myCol.Add("Fuji Apples", "1.29")
myCol.Add("Gala Apples", "1.49")
myCol.Add("Golden Delicious Apples", "1.29")
myCol.Add("Granny Smith Apples", "0.89")
myCol.Add("Red Delicious Apples", "0.99")
myCol.Add("Plantain Bananas", "1.49")
myCol.Add("Yellow Bananas", "0.79")
myCol.Add("Strawberries", "3.33")
myCol.Add("Cranberries", "5.98")
myCol.Add("Navel Oranges", "1.29")
myCol.Add("Grapes", "1.99")
myCol.Add("Honeydew Melon", "0.59")
myCol.Add("Seedless Watermelon", "0.49")
myCol.Add("Pineapple", "1.49")
myCol.Add("Nectarine", "1.99")
myCol.Add("Plums", "1.69")
myCol.Add("Peaches", "1.99")
' Displays the values in the HybridDictionary in three different ways.
Console.WriteLine("Initial contents of the HybridDictionary:")
PrintKeysAndValues(myCol)
' Deletes a key.
myCol.Remove("Plums")
Console.WriteLine("The collection contains the following elements after removing ""Plums"":")
PrintKeysAndValues(myCol)
' Clears the entire collection.
myCol.Clear()
Console.WriteLine("The collection contains the following elements after it is cleared:")
PrintKeysAndValues(myCol)
End Sub
Public Shared Sub PrintKeysAndValues(myCol As IDictionary)
Console.WriteLine(" KEY VALUE")
Dim de As DictionaryEntry
For Each de In myCol
Console.WriteLine(" {0,-25} {1}", de.Key, de.Value)
Next de
Console.WriteLine()
End Sub
End Class
'This code produces output similar to the following:
'
'Initial contents of the HybridDictionary:
' KEY VALUE
' Seedless Watermelon 0.49
' Nectarine 1.99
' Cranberries 5.98
' Plantain Bananas 1.49
' Honeydew Melon 0.59
' Pineapple 1.49
' Strawberries 3.33
' Grapes 1.99
' Braeburn Apples 1.49
' Peaches 1.99
' Red Delicious Apples 0.99
' Golden Delicious Apples 1.29
' Yellow Bananas 0.79
' Granny Smith Apples 0.89
' Gala Apples 1.49
' Plums 1.69
' Navel Oranges 1.29
' Fuji Apples 1.29
'
'The collection contains the following elements after removing "Plums":
' KEY VALUE
' Seedless Watermelon 0.49
' Nectarine 1.99
' Cranberries 5.98
' Plantain Bananas 1.49
' Honeydew Melon 0.59
' Pineapple 1.49
' Strawberries 3.33
' Grapes 1.99
' Braeburn Apples 1.49
' Peaches 1.99
' Red Delicious Apples 0.99
' Golden Delicious Apples 1.29
' Yellow Bananas 0.79
' Granny Smith Apples 0.89
' Gala Apples 1.49
' Navel Oranges 1.29
' Fuji Apples 1.29
'
'The collection contains the following elements after it is cleared:
' KEY VALUE
'
備註
一個狀態與雜湊碼值之間沒有關聯的物件,通常不應該被用作鍵。 例如,String 物件比 StringBuilder 物件更適合用作鍵。
鍵不能是,但值可以。null
你也可以利用這個 Item[] 屬性來新增元素,方法是設定不存在 HybridDictionary於 中的鍵值;例如, myCollection["myNonexistentKey"] = myValue。 然而,如果指定的鍵已經存在 HybridDictionary於 中,設定屬性 Item[] 會覆蓋舊值。 相較之下,該 Add 方法不會修改現有元素。
當元素數量超過 的最佳大小ListDictionary時,元素會從 複製ListDictionary到 。Hashtable 不過,這種情況只發生過一次。 若集合已儲存在 中 Hashtable ,且元素數量低於 的最佳大小 ListDictionary,則集合仍保留在 Hashtable。
此方法是 O(1) 作業。