在C#中,`List
### 创建List
你可以通过指定元素类型来创建一个 `List
List<int> numbers = new List<int>();
List<string> names = new List<string>();
### 添加元素
- 使用 `Add` 方法添加单个元素。
numbers.Add(1);
names.Add("Alice");
- 使用 `AddRange` 方法添加元素集合(需要传递一个 `IEnumerable
List<int> moreNumbers = new List<int> { 2, 3, 4 };
numbers.AddRange(moreNumbers);
### 访问元素
- 通过索引访问元素(索引从0开始)。
int firstNumber = numbers[0];
string firstName = names[0];
- 使用 `ElementAt` 或 `ElementAtOrDefault` 方法(更安全,但可能稍慢)。
int firstNumberSafe = numbers.ElementAt(0); // 如果索引无效,会抛出异常
int? maybeFirstNumber = numbers.ElementAtOrDefault(0); // 如果索引无效,返回null(对于可空类型)
### 遍历List
- 使用 `foreach` 循环。
foreach (int number in numbers)
{
Console.WriteLine(number);
}
foreach (string name in names)
{
Console.WriteLine(name);
}
- 使用 `for` 循环(基于索引)。
for (int i = 0; i < numbers.Count; i++)
{
Console.WriteLine(numbers[i]);
}
### 搜索元素
- 使用 `Contains` 方法检查列表中是否包含某个元素。
bool hasAlice = names.Contains("Alice");
- 使用 `FindIndex` 或 `Find` 方法找到元素的索引或元素本身。
int index = names.FindIndex(name => name == "Alice");
string foundName = names.Find(name => name == "Alice");
### 移除元素
- 使用 `Remove` 方法移除指定的元素(如果有多个相同的元素,只移除第一个)。
names.Remove("Alice");
- 使用 `RemoveAll` 方法移除所有匹配条件的元素。
names.RemoveAll(name => name.StartsWith("A"));
- 移除指定索引的元素。
names.RemoveAt(0); // 移除第一个元素
### 排序和反转
- 使用 `Sort` 方法对列表进行排序(默认是升序)。
numbers.Sort();
- 使用 `Reverse` 方法反转列表中的元素顺序。
numbers.Reverse();
### 容量和计数
- `Count` 属性表示列表中元素的数量。
int count = numbers.Count;
- `Capacity` 属性表示列表的当前容量(即列表可以存储的元素数量,这个值可能会随着添加元素而自动增加)。
int capacity = numbers.Capacity;
- 使用 `TrimExcess` 方法减少容量到实际元素数量(可选操作,用于优化内存使用)。
numbers.TrimExcess();
### 注意事项
- `List
- `List
这是 `List