C#中两个常用的泛型集合List<T>与Dictionary<TKey,Tvalue>

在C#中,List和Dictionary<Tkey, Tvalue>是两种常用的集合类,用于存储和操作数据。

List是一个动态数组,可以存储任意类型的元素。以下是创建和常用方法的示例:

  1. 创建List对象:
List<int> numbers = new List<int>(); // 创建一个空的整数列表
List<string> names = new List<string> { "Alice", "Bob", "Charlie" }; // 创建同时包含元素的字符串列表
  1. 常用方法:
numbers.Add(1); // 添加一个元素到列表末尾
numbers.AddRange(new int[] { 2, 3, 4 }); // 添加多个元素到列表末尾
numbers.Insert(0, 0); // 在指定位置插入一个元素
numbers.RemoveAt(2); // 移除指定位置的元素
numbers.Remove(3); // 移除列表中第一个等于指定值的元素
numbers.Clear(); // 清空列表中的所有元素
bool contains = numbers.Contains(1); // 判断列表中是否包含指定元素
int index = numbers.IndexOf(2); // 获取指定元素在列表中的索引
int count = numbers.Count; // 获取列表中的元素个数

Dictionary<Tkey, Tvalue>是一个键值对集合,用于存储一对一关系的数据。以下是创建和常用方法的示例:

  1. 创建Dictionary<Tkey, Tvalue>对象:
Dictionary<int, string> studentNames = new Dictionary<int, string>(); // 创建一个空的学生名称字典
Dictionary<string, int> prices = new Dictionary<string, int> { {"Apple", 1}, {"Banana", 2}, {"Orange", 3} }; // 创建同时包含元素的水果价格字典
  1. 常用方法:
studentNames.Add(1, "Alice"); // 添加一个键值对到字典中
studentNames[2] = "Bob"; // 更新字典中指定键的值
studentNames.Remove(1); // 移除指定键的键值对
studentNames.Clear(); // 清空字典中的所有键值对
bool containsKey = studentNames.ContainsKey(1); // 判断字典中是否包含指定键
bool containsValue = studentNames.ContainsValue("Alice"); // 判断字典中是否包含指定值
int count = studentNames.Count; // 获取字典中的键值对个数

这些方法只是List和Dictionary<Tkey, Tvalue>类中的一部分常用方法,还有许多其他方法可用于操作和查询数据。根据需求可以选择适合的方法来使用和操作集合中的数据。

使用场景:
List和Dictionary<Key,Value>是两种不同的数据结构,适用于不同的场景。

List适用于需要按照顺序存储一组元素,并且需要快速随机访问这些元素的场景。可以通过索引来访问列表中的元素,并且可以使用很多内置方法来操作列表,如添加、删除、排序等。如果你只需要存储一组元素,并且不需要通过键来查找元素,那么List是一个很好的选择。

Dictionary<Key,Value>适用于需要通过键来查找元素的场景。字典是一种键值对的集合,每个元素由一个键和一个值组成。可以通过键来快速查找对应的值,并且可以使用内置的方法操作字典,如添加、删除、更新等。如果你需要根据给定的键来查找对应的值,那么Dictionary<Key,Value>是一个很好的选择。

总之,List适用于按照顺序存储一组元素,并且需要快速随机访问的场景,而Dictionary<Key,Value>适用于需要通过键来查找元素的场景。具体使用哪种数据结构取决于你的需求。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值