HybridDictionary Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der HybridDictionary-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| HybridDictionary() |
Erstellt eine leere Groß-/Kleinschreibung HybridDictionary. |
| HybridDictionary(Boolean) |
Erstellt eine leere HybridDictionary Groß-/Kleinschreibung mit der angegebenen Groß-/Kleinschreibung. |
| HybridDictionary(Int32) |
Erstellt eine Groß-/Kleinschreibung HybridDictionary mit der angegebenen Anfangsgröße. |
| HybridDictionary(Int32, Boolean) |
Erstellt eine HybridDictionary mit der angegebenen Anfangsgröße und Groß-/Kleinschreibungsempfindlichkeit. |
HybridDictionary()
Erstellt eine leere Groß-/Kleinschreibung HybridDictionary.
public:
HybridDictionary();
public HybridDictionary();
Public Sub New ()
Beispiele
Das folgende Codebeispiel veranschaulicht mehrere der Eigenschaften und Methoden von 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" );
// Display the contents of the collection using foreach. This is the preferred method.
Console.WriteLine( "Displays the elements using foreach:" );
PrintKeysAndValues1( myCol );
// Display the contents of the collection using the enumerator.
Console.WriteLine( "Displays the elements using the IDictionaryEnumerator:" );
PrintKeysAndValues2( myCol );
// Display the contents of the collection using the Keys, Values, Count, and Item properties.
Console.WriteLine( "Displays the elements using the Keys, Values, Count, and Item properties:" );
PrintKeysAndValues3( myCol );
// Copies the HybridDictionary to an array with DictionaryEntry elements.
DictionaryEntry[] myArr = new DictionaryEntry[myCol.Count];
myCol.CopyTo( myArr, 0 );
// Displays the values in the array.
Console.WriteLine( "Displays the elements in the array:" );
Console.WriteLine( " KEY VALUE" );
for ( int i = 0; i < myArr.Length; i++ )
Console.WriteLine( " {0,-25} {1}", myArr[i].Key, myArr[i].Value );
Console.WriteLine();
// Searches for a key.
if ( myCol.Contains( "Kiwis" ) )
Console.WriteLine( "The collection contains the key \"Kiwis\"." );
else
Console.WriteLine( "The collection does not contain the key \"Kiwis\"." );
Console.WriteLine();
// Deletes a key.
myCol.Remove( "Plums" );
Console.WriteLine( "The collection contains the following elements after removing \"Plums\":" );
PrintKeysAndValues1( myCol );
// Clears the entire collection.
myCol.Clear();
Console.WriteLine( "The collection contains the following elements after it is cleared:" );
PrintKeysAndValues1( myCol );
}
// Uses the foreach statement which hides the complexity of the enumerator.
// NOTE: The foreach statement is the preferred way of enumerating the contents of a collection.
public static void PrintKeysAndValues1( IDictionary myCol ) {
Console.WriteLine( " KEY VALUE" );
foreach ( DictionaryEntry de in myCol )
Console.WriteLine( " {0,-25} {1}", de.Key, de.Value );
Console.WriteLine();
}
// Uses the enumerator.
// NOTE: The foreach statement is the preferred way of enumerating the contents of a collection.
public static void PrintKeysAndValues2( IDictionary myCol ) {
IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();
Console.WriteLine( " KEY VALUE" );
while ( myEnumerator.MoveNext() )
Console.WriteLine( " {0,-25} {1}", myEnumerator.Key, myEnumerator.Value );
Console.WriteLine();
}
// Uses the Keys, Values, Count, and Item properties.
public static void PrintKeysAndValues3( HybridDictionary myCol ) {
String[] myKeys = new String[myCol.Count];
myCol.Keys.CopyTo( myKeys, 0 );
Console.WriteLine( " INDEX KEY VALUE" );
for ( int i = 0; i < myCol.Count; i++ )
Console.WriteLine( " {0,-5} {1,-25} {2}", i, myKeys[i], myCol[myKeys[i]] );
Console.WriteLine();
}
}
/*
This code produces output similar to the following:
Displays the elements using foreach:
KEY VALUE
Strawberries 3.33
Yellow Bananas 0.79
Cranberries 5.98
Grapes 1.99
Granny Smith Apples 0.89
Seedless Watermelon 0.49
Honeydew Melon 0.59
Red Delicious Apples 0.99
Navel Oranges 1.29
Fuji Apples 1.29
Plantain Bananas 1.49
Gala Apples 1.49
Pineapple 1.49
Plums 1.69
Braeburn Apples 1.49
Peaches 1.99
Golden Delicious Apples 1.29
Nectarine 1.99
Displays the elements using the IDictionaryEnumerator:
KEY VALUE
Strawberries 3.33
Yellow Bananas 0.79
Cranberries 5.98
Grapes 1.99
Granny Smith Apples 0.89
Seedless Watermelon 0.49
Honeydew Melon 0.59
Red Delicious Apples 0.99
Navel Oranges 1.29
Fuji Apples 1.29
Plantain Bananas 1.49
Gala Apples 1.49
Pineapple 1.49
Plums 1.69
Braeburn Apples 1.49
Peaches 1.99
Golden Delicious Apples 1.29
Nectarine 1.99
Displays the elements using the Keys, Values, Count, and Item properties:
INDEX KEY VALUE
0 Strawberries 3.33
1 Yellow Bananas 0.79
2 Cranberries 5.98
3 Grapes 1.99
4 Granny Smith Apples 0.89
5 Seedless Watermelon 0.49
6 Honeydew Melon 0.59
7 Red Delicious Apples 0.99
8 Navel Oranges 1.29
9 Fuji Apples 1.29
10 Plantain Bananas 1.49
11 Gala Apples 1.49
12 Pineapple 1.49
13 Plums 1.69
14 Braeburn Apples 1.49
15 Peaches 1.99
16 Golden Delicious Apples 1.29
17 Nectarine 1.99
Displays the elements in the array:
KEY VALUE
Strawberries 3.33
Yellow Bananas 0.79
Cranberries 5.98
Grapes 1.99
Granny Smith Apples 0.89
Seedless Watermelon 0.49
Honeydew Melon 0.59
Red Delicious Apples 0.99
Navel Oranges 1.29
Fuji Apples 1.29
Plantain Bananas 1.49
Gala Apples 1.49
Pineapple 1.49
Plums 1.69
Braeburn Apples 1.49
Peaches 1.99
Golden Delicious Apples 1.29
Nectarine 1.99
The collection does not contain the key "Kiwis".
The collection contains the following elements after removing "Plums":
KEY VALUE
Strawberries 3.33
Yellow Bananas 0.79
Cranberries 5.98
Grapes 1.99
Granny Smith Apples 0.89
Seedless Watermelon 0.49
Honeydew Melon 0.59
Red Delicious Apples 0.99
Navel Oranges 1.29
Fuji Apples 1.29
Plantain Bananas 1.49
Gala Apples 1.49
Pineapple 1.49
Braeburn Apples 1.49
Peaches 1.99
Golden Delicious Apples 1.29
Nectarine 1.99
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")
' Display the contents of the collection using For Each. This is the preferred method.
Console.WriteLine("Displays the elements using For Each:")
PrintKeysAndValues1(myCol)
' Display the contents of the collection using the enumerator.
Console.WriteLine("Displays the elements using the IDictionaryEnumerator:")
PrintKeysAndValues2(myCol)
' Display the contents of the collection using the Keys, Values, Count, and Item properties.
Console.WriteLine("Displays the elements using the Keys, Values, Count, and Item properties:")
PrintKeysAndValues3(myCol)
' Copies the HybridDictionary to an array with DictionaryEntry elements.
Dim myArr(myCol.Count) As DictionaryEntry
myCol.CopyTo(myArr, 0)
' Displays the values in the array.
Console.WriteLine("Displays the elements in the array:")
Console.WriteLine(" KEY VALUE")
Dim i As Integer
For i = 0 To myArr.Length - 1
Console.WriteLine(" {0,-25} {1}", myArr(i).Key, myArr(i).Value)
Next i
Console.WriteLine()
' Searches for a key.
If myCol.Contains("Kiwis") Then
Console.WriteLine("The collection contains the key ""Kiwis"".")
Else
Console.WriteLine("The collection does not contain the key ""Kiwis"".")
End If
Console.WriteLine()
' Deletes a key.
myCol.Remove("Plums")
Console.WriteLine("The collection contains the following elements after removing ""Plums"":")
PrintKeysAndValues1(myCol)
' Clears the entire collection.
myCol.Clear()
Console.WriteLine("The collection contains the following elements after it is cleared:")
PrintKeysAndValues1(myCol)
End Sub
' Uses the For Each statement which hides the complexity of the enumerator.
' NOTE: The For Each statement is the preferred way of enumerating the contents of a collection.
Public Shared Sub PrintKeysAndValues1(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
' Uses the enumerator.
' NOTE: The For Each statement is the preferred way of enumerating the contents of a collection.
Public Shared Sub PrintKeysAndValues2(myCol As IDictionary)
Dim myEnumerator As IDictionaryEnumerator = myCol.GetEnumerator()
Console.WriteLine(" KEY VALUE")
While myEnumerator.MoveNext()
Console.WriteLine(" {0,-25} {1}", myEnumerator.Key, myEnumerator.Value)
End While
Console.WriteLine()
End Sub
' Uses the Keys, Values, Count, and Item properties.
Public Shared Sub PrintKeysAndValues3(myCol As HybridDictionary)
Dim myKeys(myCol.Count) As [String]
myCol.Keys.CopyTo(myKeys, 0)
Console.WriteLine(" INDEX KEY VALUE")
Dim i As Integer
For i = 0 To myCol.Count - 1
Console.WriteLine(" {0,-5} {1,-25} {2}", i, myKeys(i), myCol(myKeys(i)))
Next i
Console.WriteLine()
End Sub
End Class
'This code produces output similar to the following:
'
'Displays the elements using For Each:
' KEY VALUE
' Strawberries 3.33
' Yellow Bananas 0.79
' Cranberries 5.98
' Grapes 1.99
' Granny Smith Apples 0.89
' Seedless Watermelon 0.49
' Honeydew Melon 0.59
' Red Delicious Apples 0.99
' Navel Oranges 1.29
' Fuji Apples 1.29
' Plantain Bananas 1.49
' Gala Apples 1.49
' Pineapple 1.49
' Plums 1.69
' Braeburn Apples 1.49
' Peaches 1.99
' Golden Delicious Apples 1.29
' Nectarine 1.99
'
'Displays the elements using the IDictionaryEnumerator:
' KEY VALUE
' Strawberries 3.33
' Yellow Bananas 0.79
' Cranberries 5.98
' Grapes 1.99
' Granny Smith Apples 0.89
' Seedless Watermelon 0.49
' Honeydew Melon 0.59
' Red Delicious Apples 0.99
' Navel Oranges 1.29
' Fuji Apples 1.29
' Plantain Bananas 1.49
' Gala Apples 1.49
' Pineapple 1.49
' Plums 1.69
' Braeburn Apples 1.49
' Peaches 1.99
' Golden Delicious Apples 1.29
' Nectarine 1.99
'
'Displays the elements using the Keys, Values, Count, and Item properties:
' INDEX KEY VALUE
' 0 Strawberries 3.33
' 1 Yellow Bananas 0.79
' 2 Cranberries 5.98
' 3 Grapes 1.99
' 4 Granny Smith Apples 0.89
' 5 Seedless Watermelon 0.49
' 6 Honeydew Melon 0.59
' 7 Red Delicious Apples 0.99
' 8 Navel Oranges 1.29
' 9 Fuji Apples 1.29
' 10 Plantain Bananas 1.49
' 11 Gala Apples 1.49
' 12 Pineapple 1.49
' 13 Plums 1.69
' 14 Braeburn Apples 1.49
' 15 Peaches 1.99
' 16 Golden Delicious Apples 1.29
' 17 Nectarine 1.99
'
'Displays the elements in the array:
' KEY VALUE
' Strawberries 3.33
' Yellow Bananas 0.79
' Cranberries 5.98
' Grapes 1.99
' Granny Smith Apples 0.89
' Seedless Watermelon 0.49
' Honeydew Melon 0.59
' Red Delicious Apples 0.99
' Navel Oranges 1.29
' Fuji Apples 1.29
' Plantain Bananas 1.49
' Gala Apples 1.49
' Pineapple 1.49
' Plums 1.69
' Braeburn Apples 1.49
' Peaches 1.99
' Golden Delicious Apples 1.29
' Nectarine 1.99
'
'The collection does not contain the key "Kiwis".
'
'The collection contains the following elements after removing "Plums":
' KEY VALUE
' Strawberries 3.33
' Yellow Bananas 0.79
' Cranberries 5.98
' Grapes 1.99
' Granny Smith Apples 0.89
' Seedless Watermelon 0.49
' Honeydew Melon 0.59
' Red Delicious Apples 0.99
' Navel Oranges 1.29
' Fuji Apples 1.29
' Plantain Bananas 1.49
' Gala Apples 1.49
' Pineapple 1.49
' Braeburn Apples 1.49
' Peaches 1.99
' Golden Delicious Apples 1.29
' Nectarine 1.99
'
'The collection contains the following elements after it is cleared:
' KEY VALUE
Hinweise
Standardmäßig wird bei der Auflistung die Groß-/Kleinschreibung beachtet und die Implementierung Object.GetHashCode des Schlüssels als Hashcodeanbieter und die Implementierung Object.Equals des Schlüssels als Vergleichselement verwendet.
Der Vergleich bestimmt, ob zwei Schlüssel gleich sind. Jeder Schlüssel in einem HybridDictionary muss eindeutig sein.
Dieser Konstruktor ist ein O(1)-Vorgang.
Weitere Informationen
Gilt für:
HybridDictionary(Boolean)
Erstellt eine leere HybridDictionary Groß-/Kleinschreibung mit der angegebenen Groß-/Kleinschreibung.
public:
HybridDictionary(bool caseInsensitive);
public HybridDictionary(bool caseInsensitive);
new System.Collections.Specialized.HybridDictionary : bool -> System.Collections.Specialized.HybridDictionary
Public Sub New (caseInsensitive As Boolean)
Parameter
- caseInsensitive
- Boolean
Ein Boolescher Wert, der angibt, ob die HybridDictionary Groß-/Kleinschreibung nicht beachtet wird.
Hinweise
Wenn caseInsensitive ja false, verwendet die Sammlung die Implementierungen des Schlüssels Object.GetHashCode und Object.Equalsverwendet . Wenn caseInsensitive dies der Fall ist true, führt die Auflistung einen einfachen Vergleich zwischen Groß- und Kleinschreibung durch, der nur den Groß-/Kleinschreibungsregeln der invarianten Kultur entspricht. Weitere Informationen zur invarianten Kultur finden Sie unter System.Globalization.CultureInfo.
Dieser Konstruktor ist ein O(1)-Vorgang.
Weitere Informationen
Gilt für:
HybridDictionary(Int32)
Erstellt eine Groß-/Kleinschreibung HybridDictionary mit der angegebenen Anfangsgröße.
public:
HybridDictionary(int initialSize);
public HybridDictionary(int initialSize);
new System.Collections.Specialized.HybridDictionary : int -> System.Collections.Specialized.HybridDictionary
Public Sub New (initialSize As Integer)
Parameter
- initialSize
- Int32
Die ungefähre Anzahl von Einträgen, die die HybridDictionary anfänglich enthalten kann.
Hinweise
Wenn die anfängliche Größe der Auflistung größer als die optimale Größe für eine ListDictionaryAuflistung ist, wird die Auflistung in einem Hashtable Speicher gespeichert, um den Aufwand des Kopierens von Elementen von der ListDictionary bis zur Hashtable.
Standardmäßig wird bei der Auflistung die Groß-/Kleinschreibung beachtet und die Implementierung Object.GetHashCode des Schlüssels als Hashcodeanbieter und die Implementierung Object.Equals des Schlüssels als Vergleichselement verwendet.
Der Vergleich bestimmt, ob zwei Schlüssel gleich sind. Jeder Schlüssel in einem HybridDictionary muss eindeutig sein.
Dieser Konstruktor ist ein O()-Vorgang, wobei n es sich dabei um einen O(n)-Vorgang handeltinitialSize.
Weitere Informationen
Gilt für:
HybridDictionary(Int32, Boolean)
Erstellt eine HybridDictionary mit der angegebenen Anfangsgröße und Groß-/Kleinschreibungsempfindlichkeit.
public:
HybridDictionary(int initialSize, bool caseInsensitive);
public HybridDictionary(int initialSize, bool caseInsensitive);
new System.Collections.Specialized.HybridDictionary : int * bool -> System.Collections.Specialized.HybridDictionary
Public Sub New (initialSize As Integer, caseInsensitive As Boolean)
Parameter
- initialSize
- Int32
Die ungefähre Anzahl von Einträgen, die die HybridDictionary anfänglich enthalten kann.
- caseInsensitive
- Boolean
Ein Boolescher Wert, der angibt, ob die HybridDictionary Groß-/Kleinschreibung nicht beachtet wird.
Hinweise
Wenn die anfängliche Größe der Auflistung größer als die optimale Größe für eine ListDictionaryAuflistung ist, wird die Auflistung in einem Hashtable Speicher gespeichert, um den Aufwand des Kopierens von Elementen von der ListDictionary bis zur Hashtable.
Wenn caseInsensitive ja false, verwendet die Sammlung die Implementierungen des Schlüssels Object.GetHashCode und Object.Equalsverwendet . Wenn caseInsensitive dies der Fall ist true, führt die Auflistung einen einfachen Vergleich zwischen Groß- und Kleinschreibung durch, der nur den Groß-/Kleinschreibungsregeln der invarianten Kultur entspricht. Weitere Informationen zur invarianten Kultur finden Sie unter System.Globalization.CultureInfo.
Dieser Konstruktor ist ein O()-Vorgang, wobei n es sich dabei um einen O(n)-Vorgang handeltinitialSize.