Dot-Net
隊列<T> 與列表<T>
我目前正在使用 a
List<T>作為隊列(使用lst[0]thenlst.removeAt(0))來保存對象。在給定時間最多大約有 20 個項目。我意識到有一個真正的Queue<T>課程。我想知道使用類似於隊列Queue<T>的行為是否有任何好處(性能、記憶體等)?List<T>
可以分析性能。儘管在這種項目很少的情況下,您可能需要執行程式碼數百萬次才能真正獲得有價值的差異。
我會這樣說:
Queue<T>會更明確地暴露你的意圖,人們知道隊列是如何工作的。像隊列一樣使用的列表不是很清楚,尤其是當您有很多不必要的索引和
RemoveAt(magicNumber)程式碼時。Dequeue從程式碼維護的角度來看,它更具消耗性。如果這會給您帶來可衡量的性能問題,您可以解決它。不要預先解決所有潛在的性能問題。