在 C# 中按值对字典排序
本教程将介绍在 C# 中按值对字典排序的方法。
使用 C# 中的 List 方法按值对字典进行排序
C# 字典数据结构以 key:value
对的形式存储数据。不幸的是,在 C# 中,没有内置的方法可以按值对字典进行排序。我们必须将字典转换为元组列表,然后对列表进行排序。以下代码示例向我们展示了如何在 C# 中按值对具有列表的字典进行排序。
using System;
using System.Collections.Generic;
using System.Linq;
namespace sort_dictionary_by_value {
class Program {
static void Main(string[] args) {
Dictionary<string, int> myDict = new Dictionary<string, int>();
myDict.Add("one", 1);
myDict.Add("four", 4);
myDict.Add("two", 2);
myDict.Add("three", 3);
var myList = myDict.ToList();
myList.Sort((pair1, pair2) => pair1.Value.CompareTo(pair2.Value));
foreach (var value in myList) {
Console.WriteLine(value);
}
}
}
}
输出:
[one, 1]
[two, 2]
[three, 3]
[four, 4]
我们创建了字典 myDict
,并按整数值对其进行了排序。我们首先使用 C# 中的 ToList()
函数将 myDict
转换为元组列表 myList
。然后,我们使用 Linq 对 myList
进行排序,并显示值。
使用 C# 中的 Linq 方法按值对字典进行排序
我们也可以直接按值对字典排序,而无需先将其转换为列表。Linq 或语言集成查询用于在 C# 中执行类似 SQL 的查询。我们可以使用 Linq 按值对字典进行排序。下面的代码示例向我们展示了如何在 C# 中使用 Linq 按值对字典进行排序。
using System;
using System.Collections.Generic;
using System.Linq;
namespace sort_dictionary_by_value {
class Program {
static void Main(string[] args) {
Dictionary<string, int> myDict = new Dictionary<string, int>();
myDict.Add("one", 1);
myDict.Add("four", 4);
myDict.Add("two", 2);
myDict.Add("three", 3);
var sortedDict = from entry in myDict orderby entry.Value ascending select entry;
foreach (var value in sortedDict) {
Console.WriteLine(value);
}
}
}
}
输出:
[one, 1]
[two, 2]
[three, 3]
[four, 4]
我们创建了字典 myDict
,并使用 C# 中的 Linq 将其按整数值排序。我们将排序后的字典存储在 sortedDict
内,并显示值。
相关文章
在 C# 中将字符串转换为字符
发布时间:2024/01/19 浏览次数:85 分类:编程语言
-
有四种主要方法可以在 C# 中将字符串转换为字符,即 char.Parse()、string[index]、string.ToCharArray()和 LINQ 方法。
在 C# 中将 IEnumerable 转换为列表
发布时间:2024/01/18 浏览次数:138 分类:编程语言
-
在本教程中,学习在 C# 中将 IEnumerable 转换为列表的不同方法。使用 ToList()、ToArray() 和 AsEnumerable() 方法。
如何在 C# 中将枚举转换为列表
发布时间:2024/01/18 浏览次数:142 分类:编程语言
-
本文介绍如何在 C# 中将枚举数转换为列表。它包括 ToList()方法。在 C# 中使用 ToList() 方法将枚举类型转换为列表
C# 获取当前文件夹路径
发布时间:2024/01/18 浏览次数:172 分类:编程语言
-
本文方法介绍了在 C# 中获取当前文件夹路径的不同方法。它介绍了诸如 GetCurrentDirectory(),GetDirectoryName()和 Environment.CurrentDirectory 之类的方法。
如何在 C# 中创建文件夹
发布时间:2024/01/18 浏览次数:61 分类:编程语言
-
本文介绍了如何在 C# 中创建一个不存在的新文件夹。它包括 CreateDirectory()方法。使用 CreateDirectory() 方法在 C# 中创建一个文件夹
C# 中的倒数计时器
发布时间:2024/01/18 浏览次数:102 分类:编程语言
-
Timer 类可用于在 C# 中创建倒数计时器。使用 C# 中的 Timer 类倒数计时器 Timer 类用于在 C# 中的单独线程内执行函数。
在 C# 中重置计时器
发布时间:2024/01/18 浏览次数:106 分类:编程语言
-
本文将讨论如何使用 C# 编程语言重置计时器。C# 中的 System.Timer 类 C# 中的这个 System.Timer 类提供了一种机制,可以在经过一定时间后执行一段代码,并且这段代码可能会被执行多次。
C# 中的 float、Double 和 Decimal
发布时间:2024/01/18 浏览次数:128 分类:编程语言
-
C# 中的浮点,双精度和十进制数据类型之间的差异如下所述。C# 中的浮点数数据类型 浮点数数据类型在 C# 中存储浮点值。