我們如何檢索Dictionary<A,B>
元素的插入順序?如果字典不支持這個,那麼我應該使用哪個對象來給出字典的行爲,但也允許我按照它們插入的順序來獲取元素。我們可以按照它們插入的順序檢索字典<A,B>元素嗎?
感謝提前:)
我們如何檢索Dictionary<A,B>
元素的插入順序?如果字典不支持這個,那麼我應該使用哪個對象來給出字典的行爲,但也允許我按照它們插入的順序來獲取元素。我們可以按照它們插入的順序檢索字典<A,B>元素嗎?
感謝提前:)
無法保證您可以按順序從Dictionary<TKey, TValue>
中檢索元素。如果這是你想要的行爲,只需將其封裝到一個類中:
class DictionaryWithKeysOrderedByInsertion<TKey, TValue> : IEnumerable<KeyValuePair<TKey, TValue>> {
private readonly List<TKey> keys = new List<TKey>();
private readonly Dictionary<TKey, TValue> dictionary = new Dictionary<TKey, TValue>();
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator() {
foreach(var key in keys) {
yield return new KeyValuePair(key, dictionary[key]));
}
}
// etc.
}
字典是無序的,如果你希望他們回來,他們被插入的順序,你可能要考慮通用Queue
沒有,字典不具備這樣的功能。
您可以