C#泛型集合及应用:List<T>、HashSet<T>、Dictionary<TKey, TValue>、SortedList<TKey, TValue>、Stack<T>、Queue<T>

目录

一、涉及到的知识点

1.C#中最常用的泛型集合

2.使用泛型集合的优点

3.定义与用途 

 二、实例

1.泛型列表的示例

2.泛型字典示例

3.泛型Stack(LIFO)示例

4.泛型Queue(FIFO)示例

5.泛型SortedList按键排序示例,>

6.泛型HashSet无序集合示例


一、涉及到的知识点

        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];

         进一步地,还可以使用泛型集合来实现算法和数据结构,例如排序和搜索。

 二、实例

1.泛型列表的示例


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wenchm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值