Tengo una pregunta acerca de las colecciones genéricas en C#. Si necesito almacenar una colección de artículos, y con frecuencia voy a necesitar verificar si un artículo está en la colección, ¿sería más rápido usar el diccionario en lugar de la lista?Usando el diccionario <Foo, Foo> en lugar de la lista <Foo> para acelerar las llamadas a los contenedores()
He oído que comprobar si un artículo está en la colección es lineal en relación con el tamaño de las listas y constante en relación con el tamaño de los diccionarios. ¿Está utilizando Dictionary y luego estableciendo Key y Value en el mismo objeto para cada par de clave-valor, algo que otros programadores hacen frecuentemente en esta situación?
Gracias por tomarse el tiempo para leer esto.
¿Cuántos artículos hay en la lista? Si tiene 100, esto sería una optimización previa, y no importa. –
Está usando 'Dioctionary' como un 'HashSet ', que técnicamente debería ser más rápido, pero debe compararlos usando 'Stopwatch' de cualquier forma. –
BeemerGuy
Duplicado. Ver http://stackoverflow.com/questions/1009107/what-net-collection-provides-the-fastest-search. – JamieSee