Dot-Net

隊列<T> 與列表<T>

  • April 30, 2012

我目前正在使用 aList&lt;T&gt;作為隊列(使用lst[0]then lst.removeAt(0))來保存對象。在給定時間最多大約有 20 個項目。我意識到有一個真正的Queue&lt;T&gt;課程。我想知道使用類似於隊列Queue&lt;T&gt;的行為是否有任何好處(性能、記憶體等)?List&lt;T&gt;

可以分析性能。儘管在這種項目很少的情況下,您可能需要執行程式碼數百萬次才能真正獲得有價值的差異。

我會這樣說:Queue&lt;T&gt;會更明確地暴露你的意圖,人們知道隊列是如何工作的。

像隊列一樣使用的列表不是很清楚,尤其是當您有很多不必要的索引和RemoveAt(magicNumber)程式碼時。Dequeue從程式碼維護的角度來看,它更具消耗性。

如果這會給您帶來可衡量的性能問題,您可以解決它。不要預先解決所有潛在的性能問題。

引用自:https://stackoverflow.com/questions/10380692