首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WP7 SortedDictionary

WP7 SortedDictionary
EN

Stack Overflow用户
提问于 2012-09-26 10:40:06
回答 1查看 358关注 0票数 1

我知道SortedDictionary在WP7...so中是不可用的,必须自己对其进行排序。

我已经找到了一些例子,目前正在使用以下代码

代码语言:javascript
复制
Dictionary<string, TimetableClass> AllClasses = new Dictionary<string, TimetableClass>()
        {
            { "Maths", new TimetableClass {ClassName="Maths", Location="RM1"}},
            { "Physics", new TimetableClass {ClassName="Physics", Location="PM1"}},
            { "English", new TimetableClass {ClassName="English", Location="PM1"}},
            { "Algebra", new TimetableClass {ClassName="Algebra", Location="A1"}}

        };

        var sortedDict = new Dictionary<string, TimetableClass>();

        foreach (KeyValuePair<string, TimetableClass> singleclass in AllClasses.OrderBy(key => key.Value))
        {
            sortedDict.Add(singleclass.Key, singleclass.Value);
        }

但是当我运行这个的时候,我会得到一个例外吗?

异常是一个未处理的参数异常--“bot值是否在预期范围内”

真的不知道我在这里做错了什么。任何帮助都很感激。

  • 谢谢
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-26 11:01:37

这应该能行

代码语言:javascript
复制
foreach (KeyValuePair<string, TimetableClass> singleclass in AllClasses.OrderBy(item => item.Key))
        {
            sortedDict.Add(singleclass.Key, singleclass.Value);
        }

或者,如果您想要根据对象(值)进行排序,请尝试如下

代码语言:javascript
复制
foreach (KeyValuePair<string, TimetableClass> singleclass in AllClasses.OrderBy(item => item.Value.ClassName))
        {
            sortedDict.Add(singleclass.Key, singleclass.Value);
        }

最后,您还可以使用它而不是foreach循环,并且不需要额外的“sortedDict”字典。

代码语言:javascript
复制
AllClasses = AllClasses.OrderBy(item => item.Key).ToDictionary(item => item.Key, item => item.Value);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12599881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档