如何将C#中Dictionary字典的内容以倒序列表形式展示
实现方案
首先需要在代码文件头部引入Linq命名空间,用来调用集合的反转方法:
using System.Linq;
之后修改AllTeams方法的遍历逻辑,对字典集合调用Reverse()方法即可实现倒序输出,修改后的完整代码如下:
static Dictionary<string, Team> teams = new Dictionary<string, Team>(); static void AllTeams() { Console.WriteLine("=============== Teams ==============="); foreach (KeyValuePair<string, Team> keyValue in teams.Reverse()) { Console.WriteLine(keyValue.Key.ToString()); } }
补充说明
- 如果你需要的是按Key的字典序倒序输出,而非插入顺序倒序,可以将遍历代码改为按Key倒序排序:
foreach (KeyValuePair<string, Team> keyValue in teams.OrderByDescending(kv => kv.Key)) { Console.WriteLine(keyValue.Key.ToString()); } - 注意:低于.NET Core 3.0的版本中,Dictionary的默认遍历顺序不保证严格匹配插入顺序,如果你对顺序稳定性有强要求,建议改用
SortedDictionary或OrderedDictionary存储数据。
内容的提问来源于stack exchange,提问作者Juan Andres Gomez Botero
相关产品推荐
相关产品推荐

