0

私は C# を学んでおり、オブジェクトのリストを使用するタスクを実行しています。list.insert(index, object) を使用して、既にオブジェクトである位置に新しいオブジェクトを挿入すると、前のオブジェクトが置き換えられたと思いました!?

しかし、新しいものを挿入する前に list.removeAt(index) で最初に削除する必要があるようです。そうしないと、追加されたばかりで古いものがリストに残ります。これは正しいですか、それとも何か間違っていますか?

4

2 に答える 2

5

Insert メソッドは、指定されたインデックスに新しいアイテムを挿入し、必要に応じてスペースを空けます。

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"

指定したインデックスの項目を置き換えたい場合は、リストのindexerを使用できます。

list[1] = "foo";

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

関連項目: インデクサー (C# プログラミング ガイド)

于 2012-05-12T08:53:40.080 に答える
3

正解です。

しかし、指定したインデックスでリスト内のアイテムを置き換えたい場合は、

list[index] = newitem;
于 2012-05-12T08:53:27.697 に答える