Angella Andrea - Italian Blog

Infinita passione per lo sviluppo software !
posts - 133, comments - 216, trackbacks - 9

My Links

News

MIT OpenCourseWare: I'm invested Wikipedia Affiliate Button


Sto leggendo:

Archives

Post Categories

Siti web realizzati

Siti web tecnici

[70-536] - Specialized Dictionary


Area di riferimento

- Developing applications that use system types and collections
    - Manage data in a .NET Framework application by using specialized collections. (Refer System.Collections.Specialized namespace)
        - Specialized Dictionary
           - HybridDictionary class
           - IOrderedDictionary interface and OrderedDictionary class
           - ListDictionary class


Specialized Dictionary

La classe HybridDictionary implementa l'interfaccia IDictionary e utilizza un ListDictionary finchè la collezione è piccola per poi passare ad un Hashtable quando la collezione diventa grande. Questo stratagemma garantisce una migliore performance nell'accesso alla struttura dati. La classe si utilizza come un comune dizionario:

HybridDictionary dizionario = new HybridDictionary();
dizionario["x"] = 1;
dizionario["y"] = 2;
dizionario["z"] = 3;

// Scorro gli elementi utilizzando un enumeratore
IDictionaryEnumerator e = dizionario.GetEnumerator();
while (e.MoveNext())
{
    Console.WriteLine( "{0}={1}", e.Key, e.Value);
}

// Scorro gli elementi utilizzando il costrutto foreach
foreach(DictionaryEntry entry in dizionario)
{
    Console.WriteLine("{0}={1}", entry.Key, entry.Value);
}

// Scorro le chiavi utilizzando il costrutto foreach
foreach (string chiave in dizionario.Keys)
{
    Console.WriteLine("{0}={1}", chiave, dizionario[chiave]);
}

// Scorro i valori utilizzando il costrutto foreach
foreach (int num in dizionario.Values)
{
    Console.WriteLine(num);
}


La classe OrderedDictionary implementa un dizionario le cui coppie chiave/valore sono accesibili tramite chiave o tramite indice. La classe implementa le interfacce IOrderedDictionary, IDictionary, ICollection, IEnumerable.

public interface IOrderedDictionary : IDictionary, ICollection, IEnumerable
{
    // Methods
    IDictionaryEnumerator GetEnumerator();
    void Insert(int index, object key, object value);
    void RemoveAt(int index);

    // Properties
    object this[int index] { get; set; }
}


Ecco un semplice utilizzo della classe OrderedDictionary:

OrderedDictionary d = new OrderedDictionary(  );
d["Rosso"] = "#FF0000";
d["Verde"] = "#00FF00";
d["Blu"] = "#0000FF";

d.RemoveAt(d.Count - 1);  // rimuove l'ultimo elemento del dizionario
d.RemoveAt(0);            // rimuove il primo elemento del dizionario

d.Insert(0, "Bianco", "#FFFFFF");   // inserisce un elemento in prima posizione

string codiceColore = (string) d[0];

// Scorro gli elementi utilizzando il costrutto foreach
foreach (DictionaryEntry entry in d)
{
    Console.WriteLine("{0}={1}", entry.Key, entry.Value);
}

Print | posted on sabato 17 novembre 2007 22:54 | Filed Under [ Exam 70-536 Application Development Foundation ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET