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

Proprietà SortedDictionary<TKey, TValue>.Item (TKey)

 

Data di pubblicazione: ottobre 2016

Ottiene o imposta il valore associato alla chiave specificata.

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

public TValue this[
	TKey key
] { get; set; }

Parametri

key
Type: TKey

Chiave del valore da ottenere o impostare.

Valore proprietà

Type: TValue

Valore associato alla chiave specificata. Se la chiave specificata non viene trovata, un'operazione Get genera un'eccezione KeyNotFoundException, mentre un'operazione Set crea una nuovo elemento con la chiave specificata.

Exception Condition
ArgumentNullException

key è null.

KeyNotFoundException

La proprietà viene recuperata e key non esiste nella raccolta.

Questa proprietà consente di accedere a un elemento specifico nella raccolta utilizzando la sintassi c# seguente: myCollection[key] (myCollection(key) in Visual Basic).

È inoltre possibile utilizzare il Item proprietà per aggiungere nuovi elementi impostando il valore di una chiave non esiste nel SortedDictionary<TKey, TValue>ad esempio myCollection["myNonexistentKey"] = myValue. Tuttavia, se la chiave specificata esiste già nella SortedDictionary<TKey, TValue>, impostando il Item proprietà sovrascrive il vecchio valore. Al contrario, il Add metodo non modifica gli elementi esistenti.

Una chiave non può essere null, ma un valore può essere, se il valore di tipo TValue è un tipo di riferimento.

Nel linguaggio c# viene utilizzata la parola chiave per definire gli indicizzatori anziché implementare la Item proprietà. In Visual Basic la proprietà Item viene implementata come predefinita per fornire la stessa funzionalità di indicizzazione.

Il recupero del valore di questa proprietà è un'operazione O(log n); l'impostazione della proprietà è un'operazione O(log n).

Nell'esempio di codice viene illustrato come utilizzare il Item proprietà (l'indicizzatore in c#) per recuperare i valori, che illustra un KeyNotFoundException viene generata quando non è presente una chiave richiesta e che il valore associato con una chiave può essere sostituito.

Nell'esempio viene inoltre illustrato come utilizzare il TryGetValue metodo come un modo più efficace per recuperare i valori se un programma deve provare spesso valori di chiave che non sono presenti nel dizionario.

Questo esempio di codice fa parte di un esempio più esaustivo fornito per la SortedDictionary<TKey, TValue> classe.

// The Item property is another name for the indexer, so you 
// can omit its name when accessing elements. 
Console.WriteLine("For key = \"rtf\", value = {0}.", 
    openWith["rtf"]);

// The indexer can be used to change the value associated
// with a key.
openWith["rtf"] = "winword.exe";
Console.WriteLine("For key = \"rtf\", value = {0}.", 
    openWith["rtf"]);

// If a key does not exist, setting the indexer for that key
// adds a new key/value pair.
openWith["doc"] = "winword.exe";
// The indexer throws an exception if the requested key is
// not in the dictionary.
try
{
    Console.WriteLine("For key = \"tif\", value = {0}.", 
        openWith["tif"]);
}
catch (KeyNotFoundException)
{
    Console.WriteLine("Key = \"tif\" is not found.");
}
// When a program often has to try keys that turn out not to
// be in the dictionary, TryGetValue can be a more efficient 
// way to retrieve values.
string value = "";
if (openWith.TryGetValue("tif", out value))
{
    Console.WriteLine("For key = \"tif\", value = {0}.", value);
}
else
{
    Console.WriteLine("Key = \"tif\" is not found.");
}

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: