BDictionary - Esempi
Accesso per chiave e posizione di inserimento
using B.BLists;
using System.Data;
BDictionary<string, string> systems = new();
systems.Add("SYS", "Sistema principale");
systems["ADM"] = "Amministrazione";
string first = systems[0];
string administration = systems["ADM"];
systems.Remove(0);
La classe mantiene l'ordine di inserimento in una struttura interna e permette l'accesso posizionale. Una chiave o posizione inesistente restituisce default invece di generare KeyNotFoundException.
Usare i metodi e gli indicizzatori esposti da BDictionary; modificare l'istanza tramite un riferimento alla classe base Dictionary può rendere incoerente l'indice posizionale interno. Evitare chiavi int, perché indicizzatore e Remove(int) diventano semanticamente ambigui tra chiave e posizione.
Creazione da sorgenti comuni
DataTable table = new DataTable();
table.Columns.Add("ID");
table.Columns.Add("Description");
table.Rows.Add("1", "Primo");
BDictionary<string, string> items =
BDictionary<string, string>.CreateInstanceFromSource(
table,
"ID",
"Description");
CreateInstanceFromSource supporta DataTable, DataView, IDictionary, tipi enum e collezioni generiche di oggetti. Per le collezioni, i nomi delle proprietà sono sensibili a maiuscole e minuscole e devono esistere sul tipo degli elementi.
