目录
一、涉及到的知识点
C#中的泛型集合是一组预先定义的类,用于在代码中存储和操作对象。它们被设计为在不同类型的对象上执行特定操作,例如添加、删除和查找。
1.C#中最常用的泛型集合
- List<T>:一种有序集合,可以包含重复元素。
- HashSet<T>:一种无序集合,只包含唯一元素。
- Dictionary<TKey, TValue>:一种包含键值对的集合。
- SortedList<TKey, TValue>:一种按键值对排序的集合。
- Stack<T>:一种后进先出(LIFO)集合。
- Queue<T>:一种先进先出(FIFO)集合。
2.使用泛型集合的优点
通常情况下,建议开发人员使用泛型集合,因为这样可以获得类型安全的直接优点,而不需要从基集合类型派生并实现类型特定的成员。此外,如果集合元素为值类型,泛型集合类型的性能通常优于对应的非泛型集合类型(并优于从非泛型基集合类型派生的类型),因为使用泛型时不必对元素进行装箱。具体:
- 类型安全:泛型集合提供编译时的类型安全,这意味着您可以在运行时避免类型不匹配的错误。这使得您的代码更健壮,并且在开发过程中减少了出现错误的可能性。
- 性能改进:如您所提到的,使用泛型集合可以提高性能,特别是在处理值类型时。由于编译器可以在运行时知道集合中存储的元素的准确类型,因此无需进行装箱和拆箱操作,这可以提高代码的性能。
- 代码清晰度:使用泛型集合可以使您的代码更易读和易维护。通过指定集合中存储的元素的类型,可以使其他开发人员更容易理解您的代码,并且更易于调试和维护。
- 常用任务的简化:泛型集合提供了一组用于处理集合中元素的常见操作,例如添加、删除和搜索。这可以简化处理集合的代码,并使其更易于阅读和维护。
总体而言,使用 C# 中的泛型集合是处理代码中数据集合的强大而灵活的方法。
3.定义与用途
要使用泛型集合,需要使用尖括号(例如 List<T>)定义它们,并指定它们将包含的对象的类型。然后,可以使用该集合的属性和方法在代码中操作其元素。
例如,要创建一个存储字符串的列表,可以使用以下代码:
List<string> myList = new List<string>();
//.NET8.0直接为:
List<string> myList = new();
进一步地,要将元素添加到列表中,您可以使用 Add 方法:
myList.Add("Hello");
myList.Add("World");
//.NET8.0会提示你直接使用集合添加简化初始化
[
"Hello",
"World",
]
进一步地,要从列表中检索元素,您可以使用索引:
string firstItem = myList[0];
进一步地,还可以使用泛型集合来实现算法和数据结构,例如排序和搜索。