Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore SortedDictionary<TKey, TValue>(IDictionary<TKey, TValue>, IComparer<TKey>)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza della classe SortedDictionary<TKey, TValue> contenente elementi copiati dalla classe IDictionary<TKey, TValue> specificata e viene usata l'implementazione IComparer<T> specificata per confrontare le chiavi.

Spazio dei nomi:   System.Collections.Generic
Assembly:  System (in System.dll)

public SortedDictionary(
	IDictionary<TKey, TValue> dictionary,
	IComparer<TKey> comparer
)

Parametri

dictionary
Type: System.Collections.Generic.IDictionary<TKey, TValue>

Oggetto IDictionary<TKey, TValue> i cui elementi sono copiati nel nuovo oggetto SortedDictionary<TKey, TValue>.

comparer
Type: System.Collections.Generic.IComparer<TKey>

Implementazione di IComparer<T> da usare per confrontare le chiavi oppure null per usare l'oggetto Comparer<T> predefinito per il tipo di chiave.

Exception Condition
ArgumentNullException

dictionary è null.

ArgumentException

dictionary contiene uno o più chiavi duplicate.

Ogni chiave in un SortedDictionary<TKey, TValue> deve essere univoco in base alle specificato operatore di confronto, pertanto, ogni chiave nell'origine dictionary deve essere univoca in base all'operatore di confronto specificato.

SortedDictionary<TKey, TValue> richiede un'implementazione dell'operatore di confronto per eseguire confronti con chiave. Se comparer è null, questo costruttore utilizza l'operatore di confronto di uguaglianza predefinito, Comparer<T>.Default. Se tipo TKey implementa il System.IComparable<T> interfaccia generica, l'operatore di confronto predefinito utilizza tale implementazione.

Questo costruttore è un'operazione O (n log n) operazione, in cui n è il numero di elementi in dictionary.

Esempio di codice seguente viene illustrato come utilizzare SortedDictionary<TKey, TValue> per creare una distinzione tra maiuscole e ordinato copia le informazioni contenute in una distinzione tra maiuscole e Dictionary<TKey, TValue>, passando il Dictionary<TKey, TValue> per il SortedDictionary<TKey, TValue>(IDictionary<TKey, TValue>, IComparer<TKey>) costruttore. In questo esempio, gli operatori di confronto tra maiuscole e minuscole sono per le impostazioni cultura correnti.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new Dictionary of strings, with string keys and
        // a case-insensitive equality comparer for the current 
        // culture.
        Dictionary<string, string> openWith = 
            new Dictionary<string, string>
                (StringComparer.CurrentCultureIgnoreCase);

        // 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");

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

        // Create a SortedDictionary of strings with string keys and a 
        // case-insensitive equality comparer for the current culture,
        // and initialize it with the contents of the Dictionary.
        SortedDictionary<string, string> copy = 
                    new SortedDictionary<string, string>(openWith, 
                        StringComparer.CurrentCultureIgnoreCase);

        // List the sorted 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 = txt, Value = notepad.exe
Key = Bmp, Value = paint.exe
Key = DIB, Value = paint.exe
Key = rtf, Value = wordpad.exe

Key = Bmp, Value = paint.exe
Key = DIB, Value = paint.exe
Key = rtf, Value = wordpad.exe
Key = txt, Value = notepad.exe
 */

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 2.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: