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

相关推荐
并不喜欢吃鱼18 小时前
从零开始 C++----十【C++ 数据结构】AVL 树详解:从原理到实现
开发语言·数据结构·c++
晚烛18 小时前
CANN 大模型推理优化实战:FlashAttention、推测解码与连续批处理的工程实现
开发语言·人工智能·python·深度学习·数据挖掘
sycmancia18 小时前
Qt——发送自定义事件(下)
开发语言·qt
*愿风载尘*19 小时前
Python多重继承MRO报错问题处理
开发语言·python
yqcoder19 小时前
数据的“洁癖”管家:深入解析 JavaScript Set
开发语言·javascript·ecmascript
步步为营DotNet19 小时前
探秘.NET 11:C# 14 特性在后端性能优化中的深度应用
性能优化·c#·.net
码界筑梦坊19 小时前
144-基于Flask的电商超市数据可视化分析系统
开发语言·python·信息可视化·数据分析·flask
之歆19 小时前
Day16_JavaScript Event 对象深度解析(上篇)
开发语言·javascript·ecmascript
聆风吟º19 小时前
深入理解C语言 islower 函数详解:判断字符是否为小写字母
c语言·开发语言·库函数·字符处理·islower
Zhang~Ling19 小时前
C++继承机制详解上:概念、语法、作用域与转换规则
开发语言·c++