Dot-Net

如何從 SortedList<int, T> 創建 List<T>?

  • February 18, 2020

我正在使用.net 3.5,我有這個:

SortedList&lt;int, BrainTickTransition&gt;

我想要其中之一:

List&lt;BrainTickTransition&gt;

有沒有一種快速的方法可以做到這一點,而不必從 SortedList 中複製所有值?

需要複製這些值,因為沒有辦法在 aList&lt;TValue&gt;和 a之間共享記憶體SortedList&lt;TKey,TValue&gt;

我假設您想要List&lt;TValue&gt;包含值而不關心鍵,您可以這樣做:

sortedList.Values.ToList();

但是,如果您只需要一個IList&lt;TValue&gt;(而不是具體的類List&lt;TValue&gt;),您可以直接使用該Values屬性,從而避免創建副本。

當然,當原始集合被修改時,這些解決方案的語義不同。List&lt;TValue&gt;副本不會反映更改,而屬性IList&lt;TValue&gt;引用的副本將Values反映更改,即使您將其分配給另一個變數也是如此。

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