首页
看点啥
插画图片
首页 科技看点 C#中各类集合的基础知识和使用做法完整指南

C#中各类集合的基础知识和使用做法完整指南

2026-10-24 0

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“C#中各类集合的基础知识和采用做法”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

在 C# 开发中,集合(Collection) 在这个场景下,是存储和管理多个对象的重要工具。相比数组,集合更加灵活,能够动态增加、删除元素,同时提供丰富的数据操作方法。

落到代码里,本文作为《一个零基础小白的 C# 成长100天》系列教程的一部分,带你从基础理解 C# 集合。

一、什么是 C# 集合?

轻松来说:

集合就是一个能够保存多个数据的容器。

比如:数组:

string[] names = new string[3];

names[0] = "张三";
names[1] = "李四";
names[2] = "王五";

问题:

  • 数组长度固定
  • 添加删除麻烦
  • 功能有限

集合:

List names = new List();

names.Add("张三");
names.Add("李四");
names.Add("王五");

优势:

自动扩容
添加便于
删除便于
查询灵活
兼容排序、筛选等操作

二、C# 集合分类

C# 集合主要分为两大类:

集合
│
├── 非泛型集合
│ ├── ArrayList
│ ├── Hashtable
│
└── 泛型集合
       ├── List
       ├── Dictionary
       ├── HashSet
       ├── Queue
       └── Stack

现代 C# 开发中:

建议优先采用泛型集合。

三、List 集合(最常用)

1. 什么是 List?

List 是动态数组。

命名空间:

using System.Collections.Generic;

定义:

List 集合名 = new List();

比如:

List students = new List();

students.Add("小明");
students.Add("小红");
students.Add("小刚");

2. List 常用方法

添加元素 Add()

List nums = new List();

nums.Add(10);
nums.Add(20);
nums.Add(30);

结果:

10
20
30

批量添加 AddRange()

nums.AddRange(
    new int[]{40,50,60}
);

结果:

10 20 30 40 50 60

拿到元素

借助索引:

Console.WriteLine(nums[0]);

输出:

10

修改元素

nums[0]=100;

结果:

100 20 30

删除元素 Remove()

nums.Remove(20);

删除值:

20

根据索引删除 RemoveAt()

nums.RemoveAt(0);

删除第一个元素。

清空集合

nums.Clear();

拿到数量

Console.WriteLine(nums.Count);

四、遍历 List 集合

方式1:for循环

List names =
    new List()
{
    "张三",
    "李四",
    "王五"
};


for(int i=0;i{
    Console.WriteLine(names[i]);
}

方式2:foreach(建议)

foreach(string name in names)
{
    Console.WriteLine(name);
}

输出:

张三
李四
王五

五、Dictionary 字典集合

Dictionary 是:

键值对集合。

类似:

身份证号码 → 人名
商品编号 → 商品
用户名 → 用户信息

定义:

Dictionary

比如:

Dictionary users =
    new Dictionary();

users.Add(1001,"张三");
users.Add(1002,"李四");

结构:

1001 ---> 张三
1002 ---> 李四

根据 Key 拿到 Value

Console.WriteLine(users[1001]);

输出:

张三

遍历 Dictionary

foreach(var item in users)
{
    Console.WriteLine(
        item.Key + ":" + item.Value
    );
}

输出:

1001:张三 
1002:李四

六、HashSet 集合

HashSet 特点:

不允许重复数据。

比如:

HashSet numbers =
    new HashSet();

numbers.Add(10);
numbers.Add(20);
numbers.Add(10);

结果:

10
20

重复的10不会添加。

应用:

  • 去重
  • 判断是否存在

比如:

if(numbers.Contains(20))
{
    Console.WriteLine("存在");
}

七、Queue 队列集合

特点:

先进先出 FIFO

生活例子:

排队买票:

第一个进入 
↓
第一个出去

代码:

Queue queue =
    new Queue();

queue.Enqueue("张三");
queue.Enqueue("李四");
queue.Enqueue("王五");

取出:

string name =
    queue.Dequeue();

Console.WriteLine(name);

结果:

张三

八、Stack 栈集合

特点:

后进先出 LIFO

类似:

一摞书:

第三本 
第二本
第一本

拿的时候:

第三本先拿

代码:

Stack stack =
    new Stack();

stack.Push(1);
stack.Push(2);
stack.Push(3);

弹出:

Console.WriteLine(
    stack.Pop()
);

结果:

3

九、集合选择指南

需求建议集合
普通列表List
需键值查询Dictionary
去重复数据HashSet
排队处理Queue
撤销操作Stack
固定数量数据Array

十、集合综合案例:学生管理系统

using System;
using System.Collections.Generic;


class Program
{
    static void Main()
    {

        List students =
            new List();


        while(true)
        {
            Console.WriteLine(
            "1.添加学生 2.查看学生 3.退出");


            string choice =
                Console.ReadLine();


            if(choice=="1")
            {
                Console.WriteLine(
                    "输入姓名:");

                string name =
                    Console.ReadLine();

                students.Add(name);
            }


            else if(choice=="2")
            {
                foreach(var s in students)
                {
                    Console.WriteLine(s);
                }
            }


            else
            {
                break;
            }
        }

    }
}

运行效果:

1.添加学生
2.查看学生
3.退出
输入:
1
姓名:
小明
查看:
小明

实际处理时,总的来说,C#集合的基础知识和采用方法适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

喜欢(0)

上一篇

C#中使用Parallel.ForEachAsync异步操作多线程的做法实用指南

下一篇

C#实现方式桌面透明时钟的项目实践实用指南

猜你喜欢