C# 字典转List

public static class DictionaryExt
{
    public static List<U> ConvertValuesToList<T, U>(this Dictionary<T, U> dict)
    {
        List<U> result = new List<U>();
        foreach (var v in dict)
        {
            result.Add(v.Value);
        }
        return result;
    }

    public static List<T> ConvertKeysToList<T, U>(this Dictionary<T, U> dict)
    {
        List<T> result = new List<T>();
        foreach (var v in dict)
        {
            result.Add(v.Key);
        }
        return result;
    }

}

 

### 将 Dictionary 换为 List 的方法 在 C# 中,可以轻松地将 `Dictionary<Key, Value>` 类型的数据结构换成 `List<KeyValuePair<TKey, TValue>>` 或者自定义类型的列表。这可以通过调用 `.ToList()` 方法实现,该方法属于 LINQ 库的一部分[^1]。 对于希望创建包含特定对象而非键对的情况,则需遍历字典并实例化这些对象再加入到新的列表中。下面展示了一个例子,在此例中假设有一个名为 `Student` 的类,并且存在一个存储学生成绩记录的字典: ```csharp // 定义 Student 类 public class Student { public string Name { get; set; } public int Score { get; set; } public override string ToString() => $"Name={Name},Score={Score}"; } // 创建成绩表字典 var scores = new Dictionary<string, int>(){ {"Alice", 90}, {"Bob", 87} }; // 方案一:直接为 KeyValuePair 列表 var kvpList = scores.ToList(); foreach(var item in kvpList){ Console.WriteLine(item); } // 输出形如: // [KeyValue(Alice, 90)] // [KeyValue(Bob, 87)] // 方案二:映射至新实体列表 var studentList = scores.Select(x=>new Student{Name=x.Key, Score=x.Value}).ToList(); foreach(Student s in studentList){ Console.WriteLine(s.ToString()); } // 输出形如: // Name=Alice,Score=90 // Name=Bob,Score=87 ``` 上述代码片段展示了两种不同的方式来完成从字典到列表之间的换操作。第一种情况适用于只需要简单保存原有数据的情形;而第二种则更适合于那些需要进一步处理或者显示的信息[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值