OrderedDictionary Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een verzameling sleutel-/waardeparen die toegankelijk zijn voor de sleutel of index.
public ref class OrderedDictionary : System::Collections::IDictionary, System::Collections::Specialized::IOrderedDictionary
public ref class OrderedDictionary : System::Collections::IDictionary, System::Collections::Specialized::IOrderedDictionary, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public ref class OrderedDictionary : System::Collections::Specialized::IOrderedDictionary, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public class OrderedDictionary : System.Collections.IDictionary, System.Collections.Specialized.IOrderedDictionary
[System.Serializable]
public class OrderedDictionary : System.Collections.IDictionary, System.Collections.Specialized.IOrderedDictionary, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public class OrderedDictionary : System.Collections.Specialized.IOrderedDictionary, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type OrderedDictionary = class
interface ICollection
interface IEnumerable
interface IDictionary
interface IOrderedDictionary
[<System.Serializable>]
type OrderedDictionary = class
interface IOrderedDictionary
interface IDictionary
interface ICollection
interface IEnumerable
interface ISerializable
interface IDeserializationCallback
type OrderedDictionary = class
interface ICollection
interface IEnumerable
interface IDictionary
interface IOrderedDictionary
interface IDeserializationCallback
interface ISerializable
Public Class OrderedDictionary
Implements IDictionary, IOrderedDictionary
Public Class OrderedDictionary
Implements IDeserializationCallback, IDictionary, IOrderedDictionary, ISerializable
Public Class OrderedDictionary
Implements IDeserializationCallback, IOrderedDictionary, ISerializable
- Overname
-
OrderedDictionary
- Afgeleid
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende codevoorbeeld ziet u het maken, de populatie en het wijzigen van een OrderedDictionary verzameling, evenals twee technieken om de inhoud van de OrderedDictionaryverzameling weer te geven: een met behulp van de Keys ene en Values eigenschappen en de andere waarmee een opsomming wordt gemaakt via de GetEnumerator methode.
// The following code example enumerates the elements of a OrderedDictionary.
using System;
using System.Collections;
using System.Collections.Specialized;
public class OrderedDictionarySample
{
public static void Main()
{
// Creates and initializes a OrderedDictionary.
OrderedDictionary myOrderedDictionary = new OrderedDictionary();
myOrderedDictionary.Add("testKey1", "testValue1");
myOrderedDictionary.Add("testKey2", "testValue2");
myOrderedDictionary.Add("keyToDelete", "valueToDelete");
myOrderedDictionary.Add("testKey3", "testValue3");
ICollection keyCollection = myOrderedDictionary.Keys;
ICollection valueCollection = myOrderedDictionary.Values;
// Display the contents using the key and value collections
DisplayContents(keyCollection, valueCollection, myOrderedDictionary.Count);
// Modifying the OrderedDictionary
if (!myOrderedDictionary.IsReadOnly)
{
// Insert a new key to the beginning of the OrderedDictionary
myOrderedDictionary.Insert(0, "insertedKey1", "insertedValue1");
// Modify the value of the entry with the key "testKey2"
myOrderedDictionary["testKey2"] = "modifiedValue";
// Remove the last entry from the OrderedDictionary: "testKey3"
myOrderedDictionary.RemoveAt(myOrderedDictionary.Count - 1);
// Remove the "keyToDelete" entry, if it exists
if (myOrderedDictionary.Contains("keyToDelete"))
{
myOrderedDictionary.Remove("keyToDelete");
}
}
Console.WriteLine(
"{0}Displaying the entries of a modified OrderedDictionary.",
Environment.NewLine);
DisplayContents(keyCollection, valueCollection, myOrderedDictionary.Count);
// Clear the OrderedDictionary and add new values
myOrderedDictionary.Clear();
myOrderedDictionary.Add("newKey1", "newValue1");
myOrderedDictionary.Add("newKey2", "newValue2");
myOrderedDictionary.Add("newKey3", "newValue3");
// Display the contents of the "new" Dictionary using an enumerator
IDictionaryEnumerator myEnumerator =
myOrderedDictionary.GetEnumerator();
Console.WriteLine(
"{0}Displaying the entries of a \"new\" OrderedDictionary.",
Environment.NewLine);
DisplayEnumerator(myEnumerator);
}
// Displays the contents of the OrderedDictionary from its keys and values
public static void DisplayContents(
ICollection keyCollection, ICollection valueCollection, int dictionarySize)
{
String[] myKeys = new String[dictionarySize];
String[] myValues = new String[dictionarySize];
keyCollection.CopyTo(myKeys, 0);
valueCollection.CopyTo(myValues, 0);
// Displays the contents of the OrderedDictionary
Console.WriteLine(" INDEX KEY VALUE");
for (int i = 0; i < dictionarySize; i++)
{
Console.WriteLine(" {0,-5} {1,-25} {2}",
i, myKeys[i], myValues[i]);
}
Console.WriteLine();
}
// Displays the contents of the OrderedDictionary using its enumerator
public static void DisplayEnumerator(IDictionaryEnumerator myEnumerator)
{
Console.WriteLine(" KEY VALUE");
while (myEnumerator.MoveNext())
{
Console.WriteLine(" {0,-25} {1}",
myEnumerator.Key, myEnumerator.Value);
}
}
}
/*
This code produces the following output.
INDEX KEY VALUE
0 testKey1 testValue1
1 testKey2 testValue2
2 keyToDelete valueToDelete
3 testKey3 testValue3
Displaying the entries of a modified OrderedDictionary.
INDEX KEY VALUE
0 insertedKey1 insertedValue1
1 testKey1 testValue1
2 testKey2 modifiedValue
Displaying the entries of a "new" OrderedDictionary.
KEY VALUE
newKey1 newValue1
newKey2 newValue2
newKey3 newValue3
*/
' The following code example enumerates the elements of a OrderedDictionary.
Imports System.Collections
Imports System.Collections.Specialized
Public Class OrderedDictionarySample
Public Shared Sub Main()
' Creates and initializes a OrderedDictionary.
Dim myOrderedDictionary As New OrderedDictionary()
myOrderedDictionary.Add("testKey1", "testValue1")
myOrderedDictionary.Add("testKey2", "testValue2")
myOrderedDictionary.Add("keyToDelete", "valueToDelete")
myOrderedDictionary.Add("testKey3", "testValue3")
Dim keyCollection As ICollection = myOrderedDictionary.Keys
Dim valueCollection As ICollection = myOrderedDictionary.Values
' Display the contents Imports the key and value collections
DisplayContents( _
keyCollection, valueCollection, myOrderedDictionary.Count)
' Modifying the OrderedDictionary
If Not myOrderedDictionary.IsReadOnly Then
' Insert a new key to the beginning of the OrderedDictionary
myOrderedDictionary.Insert(0, "insertedKey1", "insertedValue1")
' Modify the value of the entry with the key "testKey2"
myOrderedDictionary("testKey2") = "modifiedValue"
' Remove the last entry from the OrderedDictionary: "testKey3"
myOrderedDictionary.RemoveAt(myOrderedDictionary.Count - 1)
' Remove the "keyToDelete" entry, if it exists
If (myOrderedDictionary.Contains("keyToDelete")) Then
myOrderedDictionary.Remove("keyToDelete")
End If
End If
Console.WriteLine( _
"{0}Displaying the entries of a modified OrderedDictionary.", _
Environment.NewLine)
DisplayContents( _
keyCollection, valueCollection, myOrderedDictionary.Count)
' Clear the OrderedDictionary and add new values
myOrderedDictionary.Clear()
myOrderedDictionary.Add("newKey1", "newValue1")
myOrderedDictionary.Add("newKey2", "newValue2")
myOrderedDictionary.Add("newKey3", "newValue3")
' Display the contents of the "new" Dictionary Imports an enumerator
Dim myEnumerator As IDictionaryEnumerator = _
myOrderedDictionary.GetEnumerator()
Console.WriteLine( _
"{0}Displaying the entries of a 'new' OrderedDictionary.", _
Environment.NewLine)
DisplayEnumerator(myEnumerator)
End Sub
' Displays the contents of the OrderedDictionary from its keys and values
Public Shared Sub DisplayContents( _
ByVal keyCollection As ICollection, _
ByVal valueCollection As ICollection, ByVal dictionarySize As Integer)
Dim myKeys(dictionarySize) As [String]
Dim myValues(dictionarySize) As [String]
keyCollection.CopyTo(myKeys, 0)
valueCollection.CopyTo(myValues, 0)
' Displays the contents of the OrderedDictionary
Console.WriteLine(" INDEX KEY VALUE")
Dim i As Integer
For i = 0 To dictionarySize - 1
Console.WriteLine(" {0,-5} {1,-25} {2}", _
i, myKeys(i), myValues(i))
Next i
Console.WriteLine()
End Sub
' Displays the contents of the OrderedDictionary using its enumerator
Public Shared Sub DisplayEnumerator( _
ByVal myEnumerator As IDictionaryEnumerator)
Console.WriteLine(" KEY VALUE")
While myEnumerator.MoveNext()
Console.WriteLine(" {0,-25} {1}", _
myEnumerator.Key, myEnumerator.Value)
End While
End Sub
End Class
'This code produces the following output.
'
' INDEX KEY VALUE
'0: testKey1(testValue1)
'1: testKey2(testValue2)
'2: keyToDelete(valueToDelete)
'3: testKey3(testValue3)
'
'
'Displaying the entries of a modified OrderedDictionary.
' INDEX KEY VALUE
'0: insertedKey1(insertedValue1)
'1: testKey1(testValue1)
'2: testKey2(modifiedValue)
'
'
'Displaying the entries of a "new" OrderedDictionary.
' KEY(VALUE)
' newKey1(newValue1)
' newKey2(newValue2)
' newKey3(newValue3)
Opmerkingen
Elk element is een sleutel/waardepaar dat is opgeslagen in een DictionaryEntry object. Een sleutel kan niet zijn null, maar een waarde kan zijn.
De elementen van een OrderedDictionary klasse worden niet gesorteerd op de sleutel, in tegenstelling tot de elementen van een SortedDictionary<TKey,TValue> klasse. U kunt toegang krijgen tot elementen door de sleutel of door de index.
De instructie foreach van de C#-taal (For Each in Visual Basic) retourneert objecten die van het type van elk element in de verzameling zijn. Omdat elk element van de OrderedDictionary verzameling een sleutel-waardepaar is, is het elementtype niet het type sleutel of het type van de waarde. In plaats daarvan is DictionaryEntryhet elementtype . De volgende code toont de syntaxis.
foreach (DictionaryEntry de in myOrderedDictionary)
{
//...
}
For Each de As DictionaryEntry In myOrderedDictionary
'...
Next de
De foreach instructie is een wrapper rond de enumerator, waarmee alleen kan worden gelezen van, niet schrijven naar, de verzameling.
Constructors
| Name | Description |
|---|---|
| OrderedDictionary() |
Initialiseert een nieuw exemplaar van de OrderedDictionary klasse. |
| OrderedDictionary(IEqualityComparer) |
Initialiseert een nieuw exemplaar van de OrderedDictionary klasse met behulp van de opgegeven vergelijkingsfunctie. |
| OrderedDictionary(Int32, IEqualityComparer) |
Initialiseert een nieuw exemplaar van de OrderedDictionary klasse met behulp van de opgegeven initiële capaciteit en vergelijkingsfunctie. |
| OrderedDictionary(Int32) |
Initialiseert een nieuw exemplaar van de OrderedDictionary klasse met behulp van de opgegeven initiële capaciteit. |
| OrderedDictionary(SerializationInfo, StreamingContext) |
Initialiseert een nieuw exemplaar van de OrderedDictionary klasse die kan worden geserialiseerd met behulp van de opgegeven SerializationInfo en StreamingContext objecten. |
Eigenschappen
| Name | Description |
|---|---|
| Count |
Hiermee haalt u het aantal sleutel-/waardenparen op dat in de OrderedDictionary verzameling is opgenomen. |
| IsReadOnly |
Hiermee wordt een waarde opgehaald die aangeeft of de OrderedDictionary verzameling het kenmerk Alleen-lezen heeft. |
| Item[Int32] |
Hiermee haalt u de waarde op of stelt u deze in op de opgegeven index. |
| Item[Object] |
Hiermee haalt u de waarde op of stelt u deze in met de opgegeven sleutel. |
| Keys |
Hiermee haalt u een ICollection object op met de sleutels in de OrderedDictionary verzameling. |
| Values |
Hiermee haalt u een ICollection object op met de waarden in de OrderedDictionary verzameling. |
Methoden
| Name | Description |
|---|---|
| Add(Object, Object) |
Voegt een vermelding met de opgegeven sleutel en waarde toe aan de OrderedDictionary verzameling met de laagste beschikbare index. |
| AsReadOnly() |
Retourneert een alleen-lezen kopie van de huidige OrderedDictionary verzameling. |
| Clear() |
Hiermee verwijdert u alle elementen uit de OrderedDictionary verzameling. |
| Contains(Object) |
Bepaalt of de OrderedDictionary verzameling een specifieke sleutel bevat. |
| CopyTo(Array, Int32) |
Kopieert de OrderedDictionary elementen naar een eendimensionaal Array object op de opgegeven index. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetEnumerator() |
Retourneert een IDictionaryEnumerator object dat door de OrderedDictionary verzameling wordt herhaald. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Implementeert de ISerializable interface en retourneert de gegevens die nodig zijn om de OrderedDictionary verzameling te serialiseren. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| Insert(Int32, Object, Object) |
Hiermee voegt u een nieuwe vermelding in de OrderedDictionary verzameling in met de opgegeven sleutel en waarde in de opgegeven index. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnDeserialization(Object) |
Implementeert de ISerializable interface en wordt teruggeroepen door de deserialisatie-gebeurtenis wanneer deserialisatie is voltooid. |
| Remove(Object) |
Hiermee verwijdert u de vermelding met de opgegeven sleutel uit de OrderedDictionary verzameling. |
| RemoveAt(Int32) |
Hiermee verwijdert u de vermelding in de opgegeven index uit de OrderedDictionary verzameling. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ICollection.IsSynchronized |
Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot het OrderedDictionary object wordt gesynchroniseerd (thread-safe). |
| ICollection.SyncRoot |
Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot het OrderedDictionary object te synchroniseren. |
| IDeserializationCallback.OnDeserialization(Object) |
Implementeert de ISerializable interface en wordt teruggeroepen door de deserialisatie-gebeurtenis wanneer deserialisatie is voltooid. |
| IDictionary.IsFixedSize |
Hiermee wordt een waarde opgehaald die aangeeft of de grootte van een OrderedDictionary vaste grootte is. |
| IEnumerable.GetEnumerator() |
Retourneert een IDictionaryEnumerator object dat door de OrderedDictionary verzameling wordt herhaald. |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |