Estoy usando una lista para almacenar un par de valores hexadecimales (por ejemplo, en la lista AD38F2D8, que se muestra como: Valor_A: AD 38 F2 D8).C# dictionary o simplemente sigue usando listas?
Mi pregunta es si debo usar Dictionary<string, string>
o debería usar Dictionary<string, NewCustomObject>
para almacenar la cadena hexadecimal como un par de cadenas. (Valor: [AD, 38, F2, D8]) en lugar de (Valor: AD38F2D8).
Probablemente no hará una gran diferencia entre los dos.
Con Dictionary<string, string>
Solo almacenaría cada cadena hexadecimal en el diccionario, y luego los dividiría en sus respectivos pares cuando los necesite. si utilizo el Dictionary<string, NewCustomObject>
terminaría primero dividiendo las cadenas hexagonales en sus pares respectivos y luego las almacenaría en el diccionario.
Mi pregunta es ¿qué debo usar? ¿O debería seguir usando listas?
No es del todo necesario para mí usar Dictionary<string, string>
ya que aún sabría en qué índice está la cuerda, solo que se vería mejor. ejemplo
lista:
Index = 0, Value = 3D95FF08
Index = 1, Value = 8D932A08
Dictionary<string, string>
ejemplo:
Index = 0, Key = First, Value = 3D95FF08
Index = 1, Key = Second, Value = 8D932A08
Dictionary<string, NewCustomObject>
ejemplo:
Index = 0, Key = First, Value = 3D, 95, FF, 08
Index = 1, Key = Second, Value = 8D, 93, 2A, 08
NOTA: el valor del índice en cada ejemplo diccionario es sólo para mostrar la corespondence a los otros, sé que un diccionario no tiene valores de índice bu t usa claves en su lugar. simplemente hace que sea más fácil mirar este ejemplo.
Encontré la última cadena de diccionario aquí: C# Dictionary with two Values per Key? Estaba buscándolo porque ya lo he usado varias veces mientras escribía el código python. almacenando una lista de cadenas dentro de un diccionario.
¡Gracias de antemano por cualquier ayuda!
EDITAR
Cada cadena, ya sea en la lista o diccionario, se dividirían en sus respectivos bytes. EG.
BYTE 0 1 2 3 to 6 .....
HEX AD 12 01 0000859D .....
Byte 0 sostendría el Índice Byte 1 sostendría la referencia Byte 2 las Banderas Byte 3 a 6: El Memb_Number_ID
Por lo tanto, si yo los separé antes incluso poner estos en el diccionario No tengo que hacerlo antes de usarlos en su lugar respectivo ya que tendría que dividirlos para calcular el índice, la referencia y los indicadores.
La base de datos me fue dada en este formato, estoy forzado a trabajar con ella de la manera que es actualmente, así que no puedo cambiarla. y solo puedo adaptar mi código a este.
anterior ejemplo sería emitido en forma de:
Index Reference Link Flags Memb_Number_ID
173 18 +A John (ID: 34205)
¿Por qué piensas en cambiar a Diccionario? ¿No está funcionando el código con las listas? –
Si nos informa cómo va a utilizar la colección, alguien le proporcionará una muestra del código junto con una recomendación. Por el momento, solo nos ha dicho lo que está almacenando, no cómo va a acceder más tarde. –
El código con las listas está funcionando bien, solo estoy buscando una forma de hacerlo más fácil de trabajar. cada valor hexadecimal se almacena en la base de datos como 1 cadena, pero como se explicó anteriormente, cada conjunto de caracteres dentro de esa cadena tiene su propio significado, por lo que ponerlo en un diccionario con los pares de división podría facilitar las cosas, para mostrar la información. – Raskaroth