c# 学习笔记 - 集合(List)

文章目录

    • 1.概论
      • [1.1 List 特性](#1.1 List 特性)
      • [1.2 .NET API](#1.2 .NET API)
    • [2. 基本使用](#2. 基本使用)
      • [2.1 样例](#2.1 样例)
    • [3. 添加类操作](#3. 添加类操作)
      • [3.1 Insert()](#3.1 Insert())
    • [4. 删除类操作](#4. 删除类操作)
      • [4.1 Remove()](#4.1 Remove())
      • [4.2 RemoveAt()](#4.2 RemoveAt())
    • [5. 查找类操作](#5. 查找类操作)
    • [6. 排序类操作](#6. 排序类操作)
      • [6.1 Sort(Comparsion<T>)](#6.1 Sort(Comparsion<T>))
    • [7. 其他类操作](#7. 其他类操作)

1.概论

1.1 List 特性

  1. 可通过索引访问的强类型列表,可以对列表进行搜索、排序和相关操作

1.2 .NET API

**  API介绍**

.NET API参考

2. 基本使用

2.1 样例

csharp 复制代码
class Test{
    static void print(List<int> list) {
        for(int i = 0; i < list.Count; i ++) { // Count获取实际存储元素个数
            Console.WriteLine(list[i]); // 0 1 2 -- 读取操作
        }
    }

    static void Main(){
        List<int> list = new List<int>(3); // 集合
        for(int i = 0; i < list.Capacity; i++ ) list.Add(i); // Capacity 集合最大存储量, Add()元素添加
        print(list);
    }
}

3. 添加类操作

3.1 Insert()

csharp 复制代码
public void Insert (int index, T item);
1. 在指定索引 index 前插入元素 item

4. 删除类操作

4.1 Remove()

csharp 复制代码
public bool Remove (T item);
1. 删除List集合当中第一次出现的item元素
2. 成功删除返回true,否则返回false

4.2 RemoveAt()

csharp 复制代码
public void RemoveAt (int index);
1. 删除指定索引位置的元素(索引必须合法,否则报错)

5. 查找类操作

6. 排序类操作

6.1 Sort(Comparsion)

csharp 复制代码
public void Sort (Comparison<T> comparison);
1. 按照指定的Comparison<T>, 对整个List<T>元素进行排序
2. public delegate int Comparison<in T>(T x, T y); Comparison是一个委托类型, 排序时只需要建立对应的比较	
   方法即可, 并且对于只需要使用一次的排序方法可以直接使用匿名类型方式书写.
csharp 复制代码
namespace DelegateAppl {
    class TestDelegate {
        public static int Comparsion(int x, int y){
            return x < y ? -1 : 1; // 从小到大排序
        }

        static void Main(){
            List<int> list = new List<int>(10);
            for(int i = 5; i < 5 + 10; i ++ ) list.Add(i % 10); // 5 6 ...9 0 1 2 3 4

            list.Sort(Comparsion); // 实现对应委托类型完成比较
            for(int i = 0; i < list.Count; i++) 
                Console.Write(list[i] + " "); // 0 ~ 9
            Console.WriteLine();

            list.Sort(delegate (int x, int y) { // 匿名类型方式完成
                return x < y ? 1 : -1; // 从大到小排序
            });
            for(int i = 0; i < list.Count; i++) 
                Console.Write(list[i] + " "); // 9 ~ 0
        }
        
    }
}

7. 其他类操作

相关推荐
南境十里·墨染春水16 小时前
linux学习进展 进程的内存管理
linux·服务器·学习
小陈phd16 小时前
多模态大模型学习笔记(三十四)——ChatTTS:新一代中文语音合成工具原理与实战解析
笔记·学习·语音识别
码以致用16 小时前
Java垃圾回收器笔记
java·jvm·笔记
zhangrelay17 小时前
面向机器人工程的 Linux 发行版:科学选型与深度评测-2026
笔记·学习
半步成诗!17 小时前
【RJ 45连接器】RJ45 网络连接器 3D 模型 3 零件装配体 SolidWorks 源文件 含 STEP/IGS 通用格式
网络·笔记·3d·硬件工程
网络工程小王17 小时前
【Function Calling详解】(学习笔记)
笔记·学习
ohsehun_mek017 小时前
如何为netlify部署网页配置自定义二级域名
笔记
新手小新17 小时前
通信工程师学习笔记3-电信网间互联管理规定和网络安全法
网络·笔记·学习
red_redemption17 小时前
自由学习记录(163)
学习
南無忘码至尊17 小时前
Unity学习90天-第2天-认识键盘 / 鼠标输入(PC)并实现WASD 移动,鼠标控制物体转向
学习·unity·c#·游戏开发