Quiero recibir algunos consejos sobre la mejor manera de almacenar y acceder con un espacio de memoria mínimo y un rendimiento de acceso máximo.C# Dictionary: acceso más rápido pero menos espacio en la memoria
Por ejemplo. para cada vehículo, quiero guardar el modelo y el nombre.
tengo algunas ideas siguientes:
Opción 1:
Dictionary<string, Dictionary<string, string>> values = new Dictionary<string, Dictionary<string, string>>();
Dictionary<string, string> list = new Dictionary<string, string>();
list.Add("2001", "Jetta S");
list.Add("2002", "Jetta SE");
list.Add("2002", "Jetta LE");
values.Add("VolksWagen", list);
Opción 2:
Dictionary<string, List<KeyValuePair<string, string>>> values2 = new Dictionary<string, List<KeyValuePair<string, string>>>();
<pre lang="xml">List<KeyValuePair<string, string>> list2 = new List<KeyValuePair<string, string>>();
list2.Add(new KeyValuePair<string, string>("2001", "Jetta S"));
list2.Add(new KeyValuePair<string, string>("2002", "Jetta SE"));
list2.Add(new KeyValuePair<string, string>("2002", "Jetta LE"));
values2.Add("VolksWagen", list2);
Opción 3:
Dictionary<string, List<string>> values1 = new Dictionary<string, List<string>>();
List<string> list1 = new List<string>();
list1.Add("2001:Jetta S");
list1.Add("2002:Jetta SE");
list1.Add("2002:Jetta LE");
values1.Add("VolksWagen", list1);
- Opción 1: un acceso más rápido de la marca y el nombre pero la mayoría de memoria huella de
- Opción 2: acceso rápido de marca y nombre pero más memoria huella de
- Opción 3: Acceso lenta de marca y nombre (habría que analizar) pero menos huella de memoria
habría más de 1500 diccionarios como el anterior.
¿Se aprecian todas las sugerencias para un acceso más rápido pero con menos huella de memoria?
Gracias.
"con un espacio de memoria mínimo y un rendimiento de acceso máximo". - Por lo general, son restricciones opuestas (tiempo versus espacio) –
¿La opción 1 no arrojará una excepción para las claves duplicadas? – Shurdoof
¿Con qué frecuencia se actualizan estas listas? –