C# List

C# List

  • [创建 `List`:](#创建 List:)
  • 添加元素:
  • [使用 `AddRange` 方法添加多个元素:](#使用 AddRange 方法添加多个元素:)
  • 插入元素:
  • 访问元素:
  • 移除元素:
    • [使用 `Remove` 方法移除一个元素:](#使用 Remove 方法移除一个元素:)
    • [使用 `RemoveAt` 方法移除指定索引的元素:](#使用 RemoveAt 方法移除指定索引的元素:)
    • [使用 `RemoveAll` 方法移除满足条件的所有元素:](#使用 RemoveAll 方法移除满足条件的所有元素:)
  • 查找元素:
    • [使用 `Contains` 方法检查元素是否存在:](#使用 Contains 方法检查元素是否存在:)
    • [使用 `IndexOf` 方法获取元素的索引:](#使用 IndexOf 方法获取元素的索引:)
    • 获取子列表:
  • 排序:
    • [使用 `Sort` 方法对整个列表进行排序:](#使用 Sort 方法对整个列表进行排序:)
    • [使用 `Sort` 方法和一个比较器对列表进行自定义排序:](#使用 Sort 方法和一个比较器对列表进行自定义排序:)
  • 反转列表:
  • 清空列表:
  • 获取列表长度:
  • 遍历列表:

C# 中的 List<T> 是一个泛型集合,用于存储对象的有序集合,并且可以包含重复的元素。 List<T>System.Collections.Generic 命名空间下的一个类,它提供了丰富的方法和属性来操作集合中的数据。

以下是一些常用的 List<T> 操作:

创建 List:

csharp 复制代码
List<int> numbers = new List<int>();

添加元素:

使用 Add 方法添加单个元素:

csharp 复制代码
numbers.Add(5);

使用 AddRange 方法添加多个元素:

csharp 复制代码
List<int> moreNumbers = new List<int> { 6, 7, 8 };
numbers.AddRange(moreNumbers);

插入元素:

csharp 复制代码
numbers.Insert(0, 0); // 在索引0的位置插入元素0

访问元素:

csharp 复制代码
int firstElement = numbers[0]; // 获取第一个元素

移除元素:

使用 Remove 方法移除一个元素:

csharp 复制代码
numbers.Remove(5); // 移除元素5

使用 RemoveAt 方法移除指定索引的元素:

csharp 复制代码
numbers.RemoveAt(0); // 移除索引0处的元素

使用 RemoveAll 方法移除满足条件的所有元素:

csharp 复制代码
numbers.RemoveAll(n => n > 5); // 移除所有大于5的元素

查找元素:

使用 Contains 方法检查元素是否存在:

csharp 复制代码
bool containsSeven = numbers.Contains(7);

使用 IndexOf 方法获取元素的索引:

int index = numbers.IndexOf(7);

获取子列表:

csharp 复制代码
List<int> subList = numbers.GetRange(0, 3); // 获取从索引0开始的3个元素的子列表

排序:

使用 Sort 方法对整个列表进行排序:

csharp 复制代码
numbers.Sort();

使用 Sort 方法和一个比较器对列表进行自定义排序:

csharp 复制代码
numbers.Sort((a, b) => a.CompareTo(b));

反转列表:

csharp 复制代码
numbers.Reverse();

清空列表:

csharp 复制代码
numbers.Clear();

获取列表长度:

csharp 复制代码
int count = numbers.Count;

遍历列表:

csharp 复制代码
foreach (int number in numbers)
{
    Console.WriteLine(number);
}

这些是 List<T> 的一些基本操作,通过这些操作,你可以有效地管理你的数据集合。记得在使用 List<T> 时,要包含 using System.Collections.Generic; 命名空间。

相关推荐
唐青枫2 小时前
C#.NET 数据库开发提速秘籍:SqlSugar 实战详解
c#·.net
mudtools18 小时前
.NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)
c#·.net
侃侃_天下1 天前
最终的信号类
开发语言·c++·算法
echoarts1 天前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Aomnitrix1 天前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式
大飞pkz1 天前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
每天回答3个问题1 天前
UE5C++编译遇到MSB3073
开发语言·c++·ue5
伍哥的传说1 天前
Vite Plugin PWA – 零配置构建现代渐进式Web应用
开发语言·前端·javascript·web app·pwa·service worker·workbox
小莞尔1 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
我是菜鸟0713号1 天前
Qt 中 OPC UA 通讯实战
开发语言·qt