2014-06-30 38 views
0

我似乎無法找到一個顯而易見的簡單問題的快速解決方案:我有一個C#OrderedDict,並利用先前的訂單知識,想要在某個位置檢索密鑰如何在給定的索引處獲得OrderedDict的關鍵字?

OrderedDict.Keys返回一個ICollection對象,但我找不到在某個位置檢索元素的直接方法。

我現在已經通過在foreach循環中使用.Keys建立了一個列表並對其進行索引,但對我來說這似乎並不優雅。

來自Python,我基本上尋找相當於list(someOrderedDict.keys())[index]。在C#中有這樣的東西嗎?

+1

該指數將是'key' ...字典意味着鍵一起使用。 –

+2

OP想要檢索**鍵**而不是**值** - 也許'(DictionaryEntry(myDict [index]))。Key'? – paul

+0

據我瞭解,'myDict [index]'檢索'Value',而不是'DictionaryEntry'。 http://msdn.microsoft.com/en-us/library/ms132598.aspx – fbmd

回答

1

如果它是OrderedDictionary你的意思是沒有優雅的方式欄寫你自己的班級。使用OrderedDictionary最優雅的方式(也許不是有效的)是潛在的:

var key = orderedDictionary.Keys.OfType<object>().Skip(index).First(); 
相關問題