使用传统的 foreach 循环替换 C# 中 List 中特定索引处的项目

Sup*_*del 0 c#

这是我的代码来解决这个问题。 错误详细信息:索引超出范围。必须为非负数且小于集合的大小。

List<string> mylist = new List<string>();
mylist.Add("Val1");
mylist.Add("Val2");
mylist.Add("Val3");

int i = 1;
int totalLenngth = mylist.Count;
foreach (var item in mylist)
{
    if (i == totalLenngth) {
      //mylist.Remove(bro);
        mylist.RemoveAt(i);
        mylist.Add("Val4");
    }
    i++;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

显然,这段代码does not need a loop。它也不需要InsertRemove。只需替换该值即可!

mylist[targetIndex] = "val4";
Run Code Online (Sandbox Code Playgroud)