Domanda

Voglio essere in grado di creare una dimensione fissa di hashmap dire 100 secchi, e se ho bisogno di memorizzare più di 100 oggetti, allora le collisioni e la sovrascrittura dovranno semplicemente accadere. La classe tabella hash ha una proprietà IsFixedSize tuttavia è in sola lettura.

Sono pensando a questo completamente a torto, o c'è una soluzione a questo?

È stato utile?

Soluzione

Collezioni nel framework .NET non consentono un sacco di messa a punto. Anche se si potrebbe trovare uno abbastanza efficace per le vostre esigenze. Prova alcuni tra quelli vitali prima di ottimizzazione.

Se non si tira proprio allora si potrebbe trovare un terzo un'alternativa partito che dispone di controlli più a grana fine. Ad esempio, vedere La C5 Generic Collezione Biblioteca per C # e CLI come un possibile inizio. Check-in in vari Hash * classi sulla loro pagina di documentazione .

Se si decide di rotolare il proprio allora ti consigliamo di implementare alcune delle interfacce standard per le collezioni e / o liste, enumerazioni, ecc in modo che funzionino come previsto con C # foreach e la lingua e le caratteristiche di .NET.

Si potrebbe anche prendere un efficiente implementazione C ++, se ne avete uno e ci sono modi di utilizzo in C # /. NET. Si potrebbe prendere un po 'di finagling, ma ci sono risposte su SO su come realizzare questo genere di cose.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top