📜  从 for 循环 c# 中的列表中删除项目(1)

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

从 for 循环 c# 中的列表中删除项目

在C#中,列表是一种经常用于存储和管理数据的数据类型。当我们需要从列表中删除一个或多个项目时,可以使用for循环来实现。下面是一些关于如何从for循环中删除C#列表中的项目的方法。

删除指定索引处的项目

要删除列表中的项目,请访问列表中要删除的项目的索引。一旦找到索引,我们可以使用List类的RemoveAt()方法从列表中删除它。以下是删除指定索引处的项目代码段的示例:

List<string> myList = new List<string>();

// add items to the list
myList.Add("Item 1");
myList.Add("Item 2");
myList.Add("Item 3");

// remove an item at index 1
myList.RemoveAt(1);

在上面的代码段中,我们首先创建了一个字符串列表,并向列表中添加了三个项目。然后我们使用RemoveAt()方法从索引1处删除一个项目。在这个例子中,"Item 2"被删除了。

删除特定项目

如果我们不知道要删除的项目的索引,我们可以使用List类的Remove()方法来删除特定的项目。 Remove()方法使用对象作为参数,并删除列表中与该对象相等的项目。以下是删除特定项目代码段的示例:

List<string> myList = new List<string>();

// add items to the list
myList.Add("Item 1");
myList.Add("Item 2");
myList.Add("Item 3");

// remove an item with the value "Item 2"
myList.Remove("Item 2");

在上面的代码段中,我们首先创建一个字符串列表,并向列表中添加三个项目。然后我们使用Remove()方法从列表中删除一个值为"Item 2"的项目。

删去多个项目

如果我们需要删除多个项目,我们可以使用for循环遍历列表,并使用Remove()或RemoveAt()方法从列表中删除每个项目。以下是删除多个项目的代码段的示例:

List<int> myList = new List<int>();

// add items to the list
myList.Add(1);
myList.Add(2);
myList.Add(3);
myList.Add(4);

// remove all items that are greater than 2
for (int i = myList.Count - 1; i >= 0; i--)
{
    if (myList[i] > 2)
    {
        myList.RemoveAt(i);
    }
}

在上面的代码段中,我们首先创建一个整数列表,并向列表中添加四个项目。然后我们使用for循环遍历列表,并使用RemoveAt()方法从列表中删除所有大于2的项目。

我们从后向前遍历列表并删除项目,因为这会避免改变列表中每个项目的索引。如果我们从前向后遍历列表并删除项目,那么我们每次删除一个项目时都会改变后续项目的索引。这可能会导致出现问题。

以上是三种用C#从for循环删除列表中的项目的方法。这些方法具有不同的用例,可以让我们灵活地管理和修改C#列表中的数据。