C# 字典 - 一个键,多个值

作者:编程家 分类: c++ 时间:2025-07-05

C# 字典 - 一个键,多个值

在开发中,我们经常需要使用字典(Dictionary)来存储数据。字典是一种键值对的数据结构,其中每个键都唯一对应一个值。但有时候,我们需要将多个值与一个键相关联,这时就需要使用一个键对应多个值的字典。在C#中,我们可以通过使用泛型字典(Dictionary)的值类型为集合来实现这一需求。

实现一个键对应多个值的字典

在C#中,我们可以使用List或者HashSet等集合类型来存储多个值。下面是一个示例代码,演示了如何实现一个键对应多个值的字典:

csharp

using System;

using System.Collections.Generic;

class Program

{

static void Main(string[] args)

{

var dict = new Dictionary>();

// 向字典中添加键值对

dict.Add("A", new List() { 1, 2, 3 });

dict.Add("B", new List() { 4, 5 });

dict.Add("C", new List() { 6 });

// 访问字典中的值

Console.WriteLine("A 对应的值:");

foreach (var value in dict["A"])

{

Console.WriteLine(value);

}

// 修改字典中的值

dict["B"].Add(6);

// 删除字典中的值

dict["C"].Remove(6);

// 遍历字典中的键值对

Console.WriteLine("字典中的键值对:");

foreach (var kvp in dict)

{

Console.WriteLine($"键:{kvp.Key},值:{string.Join(", ", kvp.Value)}");

}

}

}

示例代码解析

在示例代码中,我们首先创建了一个Dictionary>类型的字典变量dict,它的键类型为string,值类型为List。然后,我们向字典中添加了三个键值对,每个键对应一个List类型的值。

我们可以通过dict[key]的方式访问字典中的值,其中key为键的名称。在示例代码中,我们通过foreach循环遍历了键为"A"对应的值,并打印出来。

我们也可以通过dict[key].Add(value)的方式修改字典中的值,其中value为要添加的值。在示例代码中,我们向键为"B"对应的列表中添加了一个值6。

如果我们想要删除字典中的值,可以使用dict[key].Remove(value)的方式,其中value为要删除的值。在示例代码中,我们从键为"C"对应的列表中删除了值6。

最后,我们使用foreach循环遍历了整个字典,并打印出了每个键值对的信息。

通过使用泛型字典和集合类型,我们可以实现一个键对应多个值的字典。这样的数据结构在某些场景下非常有用,可以帮助我们更方便地组织和操作数据。在实际开发中,我们可以根据具体需求选择适合的集合类型来存储多个值,以满足业务逻辑的要求。