C # - Classe SortedList
La classe SortedList rappresenta una raccolta di coppie chiave-valore ordinate in base alle chiavi e accessibili per chiave e per indice.
Un elenco ordinato è una combinazione di un array e una tabella hash. Contiene un elenco di elementi a cui è possibile accedere utilizzando una chiave o un indice. Se accedi agli elementi utilizzando un indice, è un ArrayList e se accedi agli elementi utilizzando una chiave, è un Hashtable. La raccolta di elementi viene sempre ordinata in base al valore della chiave.
Metodi e proprietà della classe SortedList
La tabella seguente elenca alcuni dei file di uso comune properties del SortedList classe -
Sr.No. | Proprietà e descrizione |
---|---|
1 | Capacity Ottiene o imposta la capacità di SortedList. |
2 | Count Ottiene il numero di elementi contenuti in SortedList. |
3 | IsFixedSize Ottiene un valore che indica se SortedList ha una dimensione fissa. |
4 | IsReadOnly Ottiene un valore che indica se SortedList è di sola lettura. |
5 | Item Ottiene e imposta il valore associato a una chiave specifica in SortedList. |
6 | Keys Ottiene le chiavi in SortedList. |
7 | Values Ottiene i valori in SortedList. |
La tabella seguente elenca alcuni dei file di uso comune methods del SortedList classe -
Sr.No. | Metodo e descrizione |
---|---|
1 | public virtual void Add(object key, object value); Aggiunge un elemento con la chiave e il valore specificati in SortedList. |
2 | public virtual void Clear(); Rimuove tutti gli elementi da SortedList. |
3 | public virtual bool ContainsKey(object key); Determina se SortedList contiene una chiave specifica. |
4 | public virtual bool ContainsValue(object value); Determina se SortedList contiene un valore specifico. |
5 | public virtual object GetByIndex(int index); Ottiene il valore in corrispondenza dell'indice specificato di SortedList. |
6 | public virtual object GetKey(int index); Ottiene la chiave in corrispondenza dell'indice specificato di SortedList. |
7 | public virtual IList GetKeyList(); Ottiene le chiavi in SortedList. |
8 | public virtual IList GetValueList(); Ottiene i valori in SortedList. |
9 | public virtual int IndexOfKey(object key); Restituisce l'indice in base zero della chiave specificata in SortedList. |
10 | public virtual int IndexOfValue(object value); Restituisce l'indice in base zero della prima occorrenza del valore specificato in SortedList. |
11 | public virtual void Remove(object key); Rimuove l'elemento con la chiave specificata da SortedList. |
12 | public virtual void RemoveAt(int index); Rimuove l'elemento in corrispondenza dell'indice specificato di SortedList. |
13 | public virtual void TrimToSize(); Imposta la capacità sul numero effettivo di elementi in SortedList. |
Esempio
Il seguente esempio dimostra il concetto:
using System;
using System.Collections;
namespace CollectionsApplication {
class Program {
static void Main(string[] args) {
SortedList sl = new SortedList();
sl.Add("001", "Zara Ali");
sl.Add("002", "Abida Rehman");
sl.Add("003", "Joe Holzner");
sl.Add("004", "Mausam Benazir Nur");
sl.Add("005", "M. Amlan");
sl.Add("006", "M. Arif");
sl.Add("007", "Ritesh Saikia");
if (sl.ContainsValue("Nuha Ali")) {
Console.WriteLine("This student name is already in the list");
} else {
sl.Add("008", "Nuha Ali");
}
// get a collection of the keys.
ICollection key = sl.Keys;
foreach (string k in key) {
Console.WriteLine(k + ": " + sl[k]);
}
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Banazir Nur
005: M. Amlan
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali