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. 其他类操作

相关推荐
姚瑞南18 小时前
【AI产品思路】AI 原型设计工具横评:产品经理视角下的 v0、Bolt 与 Lovable
人工智能·经验分享·笔记·aigc·产品经理
你好~每一天18 小时前
2025年B端产品经理进阶指南:掌握这些计算机专业技能,决胜职场!
java·人工智能·经验分享·学习·产品经理·大学生
努力打怪升级18 小时前
容器学习day05_k8s(二)
学习·容器·kubernetes
叫我Zoe就行18 小时前
MySQL集群——主从复制
linux·数据库·学习·mysql
Source.Liu19 小时前
【Python基础】 19 Rust 与 Python if 语句对比笔记
笔记·python·rust
维斯路19 小时前
ANSYS 热力耦合计算
学习
程序员Xu19 小时前
【LeetCode热题100道笔记】二叉树的中序遍历
笔记·算法·leetcode
Source.Liu20 小时前
【Python基础】 18 Rust 与 Python print 函数完整对比笔记
笔记·python·rust
闻道且行之20 小时前
嵌入式|Linux中打开视频流的两种方式V4l2和opencv
linux·笔记·opencv·嵌入式
于顾而言20 小时前
【笔记】Software Engineering at Google
笔记·log4j·软件工程