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

相关推荐
cwtlw20 分钟前
CSS学习记录20
前端·css·笔记·学习
chen_22725 分钟前
kanzi3.6.10 窗口插件-查找绑定信息
c#·kanzi
汇能感知42 分钟前
光谱相机的工作原理
经验分享·笔记·科技·相机
紫罗兰盛开43 分钟前
分布式调度框架学习笔记
笔记·学习
汇能感知1 小时前
光谱相机在农业中的具体应用案例
经验分享·笔记·科技
Kobebryant-Manba1 小时前
kafka基本概念
分布式·学习·kafka
地球空间-技术小鱼1 小时前
YUM(Yellowdog Updater, Modified)和DNF(Dandified YUM)简介
linux·运维·服务器·笔记·学习
小码的头发丝、2 小时前
Java进阶学习笔记|面向对象
java·笔记·学习
坊钰2 小时前
【Java 数据结构】移除链表元素
java·开发语言·数据结构·学习·链表
Purple Coder2 小时前
第6章 图论
笔记