我的问题就像下面的问题,但SortedList<Tkey, TValue>
不仅仅是原始问题SortedList
。
似乎没有像这样的函数GetKey()
。
您可以简单地使用list.FirstOrDefault()
和list.LastOrDefault()
。
default(KeyValuePair<TKey,TValue>)
如果列表为空,则将返回这两种方法。
并且最好使用它们,因为如果列表为空list.First()
,list.Last()
则使用和会抛出错误。
根据您(不太清楚)的问题,您想检索列表中第一个和最后一个项目的键。
SortedList<TKey, TValue>
实现IEnumerable<KeyValuePair<TKey,TValue>>
这样做:
sortedList.FirstOrDefault().Key
Run Code Online (Sandbox Code Playgroud)
和
sortedList.LastOrDefault().Key
Run Code Online (Sandbox Code Playgroud)
将返回这些键
编辑:正如@mjwills 所建议的那样,就Keys
性能而言,使用该属性是一个更好的主意,因为它实现IList<TKey>
并LastOrDefault
针对此类情况进行了优化(不获取整个集合以到达最后一个项目):
sortedList.Keys.FirstOrDefault()
sortedList.Keys.LastOrDefault()
Run Code Online (Sandbox Code Playgroud)