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

相关推荐
czhc11400756633 小时前
同值短路与单一真值源:属性不是命令,状态只有一个家
c#
HRBorderInsight6 小时前
马来西亚人均收入一个月多少钱,个人薪资和家庭收入要分开看
经验分享·笔记
又見山7 小时前
本地 Markdown 与数据主权:你的笔记到底属于谁
笔记·obsidian
下页、再停留8 小时前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
撩得Android一次心动8 小时前
Jetpack Compose 知识点整理2【个人用】
android·笔记·学习·kotlin·compose
cao23339 小时前
关于 x1 y1 等变量名冲突的指正(校对版)
笔记
dadaobusi10 小时前
学习:灵犀指令集
学习
Demons_kirit10 小时前
CTFHub 信息泄露通关笔记:Git泄露 Log - 教程
笔记·git·网络安全
xhyu6111 小时前
【学习笔记】图像质量评估方法 (5.生成图像是否符合用户要求)
笔记·学习·计算机视觉
2601_9611462011 小时前
实验室用等离子表面处理设备处理新能源汽车塑料件的一点记录
笔记·汽车·设备