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 分钟前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
捕鲸叉30 分钟前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer34 分钟前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq37 分钟前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
记录成长java2 小时前
ServletContext,Cookie,HttpSession的使用
java·开发语言·servlet
前端青山2 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
睡觉谁叫~~~2 小时前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
音徽编程2 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
观音山保我别报错2 小时前
C语言扫雷小游戏
c语言·开发语言·算法
小屁孩大帅-杨一凡3 小时前
java后端请求想接收多个对象入参的数据
java·开发语言