Sto cercando di capire quale tipo di dati utilizzare ... Fondamentalmente voglio una coda FIFO che è thread-safe e getterà automaticamente gli elementi abbastanza vecchi una volta che arriva a un limite pre-specificato.Elenco FIFO ThreadSafe con gestione limiti dimensione automatica
Beh, in realtà, forse più di una lista, perché non voglio che l'intero concetto di spingere in coda e scoppiare un oggetto dalla coda, a quel punto non è più disponibile.
Il caso d'uso è fondamentalmente per una playlist in cui avrei fino a 5 elementi in arrivo, l'elemento attualmente in riproduzione, e quindi circa 20 elementi che sono già stati riprodotti. Quindi, perché suppongo che non possa essere una coda, accedo ad uno degli elementi nel mezzo come elemento "attuale". E preferirei non dover gestire manualmente buttare via vecchi oggetti quando la lista diventa grande ... ovviamente potrei scrivere tutto da solo, ma non voglio reinventare la ruota se questo esiste già per C#.
Qualche idea di cosa potrei usare?
Ho fatto una domanda simile (http://stackoverflow.com/questions/17031718/how-to-limit-blockingcollection-size-but-keep-adding-new-itens-net-limited-siz), voglio la stessa cosa, un FIFO di dimensioni limitate thread-safe. Sei giunto a una buona soluzione? – Pedro77