(0) exportieren Drucken
Alle erweitern

SortedDictionary-Konstruktor (IDictionary (generisch))

Initialisiert eine neue Instanz der SortedDictionary-Klasse, die Elemente enthält, die aus dem angegebenen IDictionary kopiert wurden, und bei der die IComparer-Standardimplementierung für den Typ des Schlüssels verwendet wird.

Namespace: System.Collections.Generic
Assembly: System (in system.dll)

public SortedDictionary (
	IDictionary<TKey,TValue> dictionary
)
public SortedDictionary (
	IDictionary<TKey,TValue> dictionary
)
public function SortedDictionary (
	dictionary : IDictionary<TKey,TValue>
)
Nicht zutreffend.

Parameter

dictionary

Das IDictionary, dessen Elemente in das neue SortedDictionary kopiert werden.

AusnahmetypBedingung

ArgumentNullException

dictionary ist NULL-Verweis (Nothing in Visual Basic).

ArgumentException

dictionary enthält mindestens einen doppelten Schlüssel.

Jeder Schlüssel in einem SortedDictionary muss für den Standardvergleich eindeutig sein. Daher muss auch jeder Schlüssel im Quell-dictionary für den Standardvergleich eindeutig sein.

Das SortedDictionary benötigt für den Vergleich von Schlüsseln eine Vergleichsimplementierung. Dieser Konstruktor verwendet den generischen Standardgleichheitsvergleich Comparer.Default. Wenn der Typ TKey die generische System.IComparable-Schnittstelle implementiert, verwendet der Standardvergleich diese Implementierung. Sie können eine Implementierung der generischen IComparer-Schnittstelle auch anhand eines Konstruktors angeben, der einen comparer-Parameter akzeptiert.

Dieser Konstruktor ist ein O(n log n)-Vorgang, wobei n für die Anzahl der Elemente im dictionary steht.

Im folgenden Codebeispiel wird gezeigt, wie mithilfe von SortedDictionary eine sortierte Kopie der Informationen in einem Dictionary erstellt werden kann, indem das Dictionary an den SortedDictionary(IComparer (generisch))-Konstruktor übergeben wird.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new Dictionary of strings, with string keys.
        //
        Dictionary<string, string> openWith = 
                                  new Dictionary<string, string>();
        
        // Add some elements to the dictionary. 
        openWith.Add("txt", "notepad.exe");
        openWith.Add("bmp", "paint.exe");
        openWith.Add("dib", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");
        
        // Create a SortedDictionary of strings with string keys, 
        // and initialize it with the contents of the Dictionary.
        SortedDictionary<string, string> copy = 
                  new SortedDictionary<string, string>(openWith);

        // List the contents of the copy.
        Console.WriteLine();
        foreach( KeyValuePair<string, string> kvp in copy )
        {
            Console.WriteLine("Key = {0}, Value = {1}", 
               kvp.Key, kvp.Value);
        }
    }
}

/* This code example produces the following output:

Key = bmp, Value = paint.exe
Key = dib, Value = paint.exe
Key = rtf, Value = wordpad.exe
Key = txt, Value = notepad.exe
 */

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0
Anzeigen:
© 2014 Microsoft