我与.NET 3.5的工作,我有这样的:如何从SortedList <int, T>创建列表<T>?
SortedList<int, BrainTickTransition>
而且我想其中的一个:
List<BrainTickTransition>
是否有一个快速的方法来做到这一点,而不必复制所有来自SortedList的值?
我与.NET 3.5的工作,我有这样的:如何从SortedList <int, T>创建列表<T>?
SortedList<int, BrainTickTransition>
而且我想其中的一个:
List<BrainTickTransition>
是否有一个快速的方法来做到这一点,而不必复制所有来自SortedList的值?
这些值需要复制,因为无法共享List<TValue>
和SortedList<TKey,TValue>
之间的内存。
我假设你想要包含的值的List<TValue>
,而无需关心键,你可以用做:
sortedList.Values.ToList();
但如果你只是需要一个IList<TValue>
(而不是具体的类List<TValue>
),你可以直接使用Values
属性,从而避免创建副本。
当然,当原始集合被修改时,这些解决方案的语义不同。 List<TValue>
副本不会反映更改,而Values
属性引用的IList<TValue>
将反映更改,即使将其分配给另一个变量也是如此。
考虑SortedList.Values属性。 –
我有一个datacontract序列化List,这就是为什么我需要列表。 –
Almo