我有一个字典并在其上添加了一些元素.例如,
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("Content","Level0");
d.Add("gdlh","Level1");
d.Add("shows","Level2");
d.Add("ytye","Level0");
Run Code Online (Sandbox Code Playgroud)
在C#中,Dictionary保持元素按自然顺序排列.但我现在想要将这些值从最后一个迭代到第一个(即,逆序).i mean,
首先,我想阅读ytye然后显示,gdlh,最后是内容.
请指导我摆脱这个问题......
Phi*_*hil 17
只需使用Linq扩展方法Reverse
例如
foreach( var item in d.Reverse())
{
...
}
Run Code Online (Sandbox Code Playgroud)
使用LINQ Reverse,但请注意不会反转:
var reversed = d.Reverse();
Run Code Online (Sandbox Code Playgroud)
但请注意,这不是SortedDictionary,因此首先不一定保证顺序.也许你想要OrderByDescending
呢?
也许OrderByDescending
在钥匙上。像这样:
d.OrderByDescending (x =>x.Key)
Run Code Online (Sandbox Code Playgroud)
Foreach
像这样:
foreach (var element in d.OrderByDescending (x =>x.Key))
{
}
Run Code Online (Sandbox Code Playgroud)