赞
踩
C# 中的字典(Dictionary)是一种集合类型,用于存储键-值对。它提供了高效的查找操作,通过使用键来访问对应的值。在 C# 中,字典类被实现为泛型类型 Dictionary<TKey, TValue>
,其中 TKey
是键的类型,TValue
是值的类型。
可以使用 new
关键字来创建一个新的字典对象,例如:
Dictionary<string, int> studentGrades = new Dictionary<string, int>();
使用 Add
方法可以向字典中添加新的键-值对,使用方括号语法或 TryGetValue
方法可以访问字典中的元素,例如:
- studentGrades.Add("Alice", 90);
- int grade = studentGrades["Alice"];
-
- int value;
- if (studentGrades.TryGetValue("Alice", out value))
- {
- // 存在键为 "Alice" 的元素
- }
如果指定的键已经存在于字典中,可以直接通过赋值语句来更新对应的值,例如:
studentGrades["Alice"] = 95;
使用 Remove
方法可以从字典中移除指定的键-值对,例如:
studentGrades.Remove("Alice");
可以使用 foreach
循环遍历字典中的键-值对,例如:
- foreach (KeyValuePair<string, int> kvp in studentGrades)
- {
- string name = kvp.Key;
- int grade = kvp.Value;
- // 使用键和值进行操作
- }
字典在内部使用哈希表来实现快速的查找操作,因此可以在 O(1) 的时间复杂度内访问元素。但是,字典并不保持元素的顺序。
字典中的键必须是唯一的,如果尝试向字典中添加重复的键,则会引发异常。如果需要存储多个具有相同键的值,可以考虑使用其他集合类型,例如 List<T>
或 HashSet<T>
。
- using System;
- using System.Collections.Generic;
-
- class Program
- {
- static void Main()
- {
- // 创建一个字典
- Dictionary<string, int> studentGrades = new Dictionary<string, int>();
-
- // 添加键值对
- studentGrades.Add("Alice", 90);
- studentGrades.Add("Bob", 85);
- studentGrades.Add("Charlie", 92);
-
- // 访问字典中的值
- int aliceGrade = studentGrades["Alice"];
- Console.WriteLine("Alice's grade: " + aliceGrade);
-
- // 修改字典中的值
- studentGrades["Bob"] = 88;
-
- // 遍历字典
- foreach (KeyValuePair<string, int> kvp in studentGrades)
- {
- Console.WriteLine(kvp.Key + ": " + kvp.Value);
- }
-
- // 检查字典中是否包含指定的键
- bool containsBob = studentGrades.ContainsKey("Bob");
- Console.WriteLine("Contains Bob? " + containsBob);
-
- // 删除字典中的键值对
- studentGrades.Remove("Charlie");
-
- // 清空字典
- studentGrades.Clear();
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。