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>(IComparer<TKey>)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza vuota della classe SortedDictionary<TKey, TValue> e usa l'implementazione IComparer<T> specificata per il confronto delle chiavi.

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

public SortedDictionary(
	IComparer<TKey> comparer
)

Parametri

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.

Ogni chiave in un SortedDictionary<TKey, TValue> 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 (1).

L'esempio di codice seguente crea un SortedDictionary<TKey, TValue> con un operatore di confronto tra maiuscole e minuscole per le impostazioni cultura correnti. L'esempio aggiunge quattro elementi, alcune con chiavi lettere minuscole e altre con le chiavi di lettere maiuscole. Nell'esempio viene quindi tenta di aggiungere un elemento con una chiave che è diverso da una chiave esistente solo per i casi, intercetta l'eccezione risulta e viene visualizzato un messaggio di errore. Infine, l'esempio mostra gli elementi in sequenza di ordinamento tra maiuscole e minuscole.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new SortedDictionary of strings, with string keys 
        // and a case-insensitive comparer for the current culture.
        SortedDictionary<string, string> openWith = 
                      new SortedDictionary<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");

        // Try to add a fifth element with a key that is the same 
        // except for case; this would be allowed with the default
        // comparer.
        try
        {
            openWith.Add("BMP", "paint.exe");
        }
        catch (ArgumentException)
        {
            Console.WriteLine("\nBMP is already in the dictionary.");
        }

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

/* This code example produces the following output:

BMP is already in the dictionary.

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: