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; 命名空间。

相关推荐
http阿拉丁神猫2 小时前
Go语言入门笔记:从基础到开发环境搭建(二)
开发语言·笔记·golang
不会就选b3 小时前
C++补充部分(一)--lambda 表达式
开发语言·c++
czhc11400756633 小时前
同值短路与单一真值源:属性不是命令,状态只有一个家
c#
Pniubi6 小时前
HashMap的扩容和树化边界
java·开发语言
gCode Teacher 格码致知7 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas
发量惊人的中年网工7 小时前
分公司访问总部ERP慢怎么办?SD-WAN组网的排查与验收要点
服务器·开发语言·php
下页、再停留8 小时前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
ShineWinsu8 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
益莱储中国9 小时前
深度解析:RF 实验室从 5G迈向 6G 的过程中保持技术领先与设备升级的路径
开发语言·php
benchmark_cc10 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash