B-Arts DocumentationIndice generale

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.