2

我有一本现在的字典

如何通过在c#中指定开始和结束索引从字典中获取一系列项目

基本上我必须为我的字典元素实现分页以显示 5 个元素,然后单击下一步我将显示下一个 5 个项目,依此类推

4

3 回答 3

5

字典没有排序,您可以订购字典,然后选择开始和结束索引之间的项目,如下所示

public Dictionary<string, myCustomType> GetData(int startIndex, int endIndex)
{
    return dictionary.OrderBy(d => d.Key).Skip(startIndex).Take(endIndex-startIndex +1).ToDictionary(k=>k.Key, v=>v.Value);
}

如果没有上述所有顺序,您可以使用SortedList<string, myCustomType>代替,Dictionary<string, myCustomType>并且它已排序,您可以按索引选择项目。

于 2013-09-10T11:17:36.503 回答
1

该类Dictionary没有排序,您可以使用OrderedDictionary

于 2013-09-10T10:34:31.330 回答
0

您可以使用以下代码获取字典范围:

foreach(KeyValuePair<string, string> entry in MyDic)
{
    // do something with entry.Value or entry.Key
}
于 2013-09-10T10:34:11.977 回答