我知道SortedDictionary在WP7...so中是不可用的,必须自己对其进行排序。
我已经找到了一些例子,目前正在使用以下代码
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值是否在预期范围内”
真的不知道我在这里做错了什么。任何帮助都很感激。
发布于 2012-09-26 11:01:37
这应该能行
foreach (KeyValuePair<string, TimetableClass> singleclass in AllClasses.OrderBy(item => item.Key))
{
sortedDict.Add(singleclass.Key, singleclass.Value);
}或者,如果您想要根据对象(值)进行排序,请尝试如下
foreach (KeyValuePair<string, TimetableClass> singleclass in AllClasses.OrderBy(item => item.Value.ClassName))
{
sortedDict.Add(singleclass.Key, singleclass.Value);
}最后,您还可以使用它而不是foreach循环,并且不需要额外的“sortedDict”字典。
AllClasses = AllClasses.OrderBy(item => item.Key).ToDictionary(item => item.Key, item => item.Value);https://stackoverflow.com/questions/12599881
复制相似问题