温馨提示×

C#如何对字典按值进行排序

c#
小樊
276
2024-07-15 10:47:37
栏目: 编程语言

在C#中,可以通过使用LINQ对字典按值进行排序。以下是一个示例代码,展示如何对一个字典按值进行升序或降序排序:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        Dictionary<string, int> dict = new Dictionary<string, int>
        {
            { "Alice", 30 },
            { "Bob", 20 },
            { "Charlie", 40 },
            { "David", 10 }
        };

        // 对字典按值升序排序
        var sortedDictAsc = dict.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value);

        // 对字典按值降序排序
        var sortedDictDesc = dict.OrderByDescending(x => x.Value).ToDictionary(x => x.Key, x => x.Value);

        // 输出排序后的字典
        Console.WriteLine("按值升序排序:");
        foreach (var item in sortedDictAsc)
        {
            Console.WriteLine($"{item.Key}: {item.Value}");
        }

        Console.WriteLine("\n按值降序排序:");
        foreach (var item in sortedDictDesc)
        {
            Console.WriteLine($"{item.Key}: {item.Value}");
        }
    }
}

在示例中,我们先创建了一个包含字符串键和整数值的字典。然后使用LINQ的OrderBy方法和ToDictionary方法对字典按值进行升序或降序排序。最后,输出排序后的字典。

0