-3

私は値を1つずつ保存している配列制御を使用しています。

ここで、要素の 1 つを削除し、同時に更新する必要があります。

例えば....

string[] arr= new string(25);

arr[0]="A";
arr[1]="B";
arr[2]="C"; and so on....

2番目の要素を削除した後arr[1]=null;

以下のような更新された配列が必要です...

arr[0]="A";
arr[1]="C"; and so on....

助けてください...

前もって感謝します、、、

4

5 に答える 5

8

List<string>配列ではなくを使用する必要があるように思えますが、これにより、説明している機能が正確に得られます。

配列はサイズ変更できますが (@Austin Brunkhorst に感謝)、これは「安価」ではなく、すべてを自分で移動する必要があります。

多くの挿入と削除を行うと、リストが非常に非効率になる可能性があることに注意してくださいLinkedList<string>。これらには長所と短所があります。linked list詳細については、Google 。

于 2013-02-15T09:07:07.533 に答える
3

静的なデータ量がある場合は Array を使用する必要がありますが、動的なデータ量がある場合は List<> を使用する必要があります。

于 2013-02-15T09:08:54.667 に答える
3

配列のサイズを変更する場合は、新しい配列を作成し、すべての要素を古いものから新しいものにコピーする必要があります。

arr = arr.Where(s => s != null).ToArray();

a を使用する場合は、または などのList<string>メソッドを使用できます。List.RemoveList.RemoveAt

于 2013-02-15T09:07:25.210 に答える
2

コレクション内の任意の位置にエントリを追加/削除することが多い場合は、LinkedList<string>代わりにを使用することをお勧めします

于 2013-02-15T09:08:36.570 に答える
2

Array の代わりに List を使用できます

List<int> list = new List<int>();
list.Add(2);
list.Add(3);
list.Add(5);
list.Add(7);

あなたはより多くのオプションを得るでしょう

含む

存在する

の指標

アイテムを削除するには、次のような機能を取得します

削除 例: dogs.Remove("bulldog"); // ブルドッグを削除

RemoveAt ex: list.RemoveAt(1);

すべて削除する

于 2013-02-15T09:10:27.533 に答える