在插入新对象之前,需要从列表中删除对象

本文关键字:对象 列表 删除 新对象 插入 | 更新日期: 2023-09-27 18:34:00

我正在学习C#,我正在做一个使用对象列表的任务。我想如果我插入一个新对象,在它已经是一个对象的位置插入 list.insert(index,object),以前的对象被替换了!?

但是似乎我必须先用list.removeAt(index)删除它,然后才能插入新的,否则它只是添加的,旧的留在列表中。这是正确的还是我做错了什么?

在插入新对象之前,需要从列表中删除对象

插入方法在指定的索引处插入一个新项,根据需要腾出空间:

list.Insert(1, "foo");
//  Before              After
//
//  list[0] == "a"      list[0] == "a"
//  list[1] == "b"      list[1] == "foo"
//  list[2] == "c"      list[2] == "b"
//                      list[3] == "c"

如果要替换指定索引处的项,可以使用列表的索引器:

list[1] = "foo";
//  Before              After
//
//  list[0] == "a"      list[0] == "a"
//  list[1] == "b"      list[1] == "foo"
//  list[2] == "c"      list[2] == "c"

另请参阅:索引器(C# 编程指南)

这是

正确的。

但是,如果您想在指定索引处替换列表中的项目,为什么不直接

list[index] = newitem;