📜  更新列表中的值 c# (1)

📅  最后修改于: 2023-12-03 15:10:33.481000             🧑  作者: Mango

更新列表中的值

在 C# 中,更新列表中的某个元素的值可以通过索引直接访问和修改。下面是一些常见的更新操作。

更新单个元素

假设有一个包含整数的列表 list,要更新其中第 3 个元素的值为 100,可以使用以下代码:

list[2] = 100;

请注意,索引从 0 开始计数,因此第 3 个元素的索引为 2。

替换多个元素

如果需要替换列表中的多个元素,可以使用 List<T>.ReplaceRange 方法。以下代码将从指定索引开始的一段元素替换为另一个集合:

list.ReplaceRange(index, count, newValues);

其中 index 是要替换元素的起始索引,count 是要替换的元素数量,newValues 是包含新元素的集合。请注意,newValues 的元素数量必须与 count 相同。

更新所有元素

要将列表中的所有元素设置为特定的值,可以使用 List<T>.Clear 方法先清空列表,然后使用 List<T>.Add 方法添加新元素。以下代码将列表中所有元素设置为 0:

list.Clear();
for (int i = 0; i < list.Count; i++)
{
    list.Add(0);
}

这种方法的效率可能不太高,因为它需要对列表进行两次操作。如果列表中包含的元素类型具有默认值,可以使用 List<T>.Resize 方法一次性分配足够的空间并将所有元素设置为默认值:

list.Clear();
list.Resize(list.Count, default(T));
更新满足条件的元素

如果要更新列表中满足某个条件的元素,可以使用 LINQ 进行筛选,然后使用 List<T>.ForEach 方法更新这些元素的值。以下代码将列表中所有大于 10 的元素设置为 0:

list.Where(x => x > 10).ToList().ForEach(x => x = 0);

请注意,List<T>.ForEach 方法接受一个 Lambda 表达式作为参数,该表达式将应用于列表中的每个元素。

以上是更新列表中的一些常见操作。请根据具体的应用场景选择适当的方法。