C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でArrayListの指定したインデックスにある要素を削除する方法


ArrayListから指定したインデックス位置の要素を削除するには、RemoveAt()メソッドを使用します。このメソッドは、引数に渡されたインデックス番号に対応する要素を削除し、その後ろにある要素は自動的に前に詰められます。インデックスは0から始まるため注意してください。

例1

using System;
using System.Collections;
public class Demo {
    public static void Main(String[] args) {
        ArrayList list1 = new ArrayList();
        list1.Add("A");
        list1.Add("B");
        list1.Add("C");
        list1.Add("D");
        list1.Add("E");
        list1.Add("F");
        list1.Add("G");
        list1.Add("H");
        list1.Add("I");
        Console.WriteLine("ArrayList1の要素...");
        foreach (string res in list1) {
            Console.WriteLine(res);
        }
        ArrayList list2 = new ArrayList();
        list2.Add("A");
        list2.Add("B");
        list2.Add("C");
        list2.Add("D");
        list2.Add("E");
        list2.Add("F");
        list2.Add("G");
        list2.Add("H");
        list2.Add("I");
        Console.WriteLine("ArrayList2の要素...");
        foreach (string res in list2)
        {
            Console.WriteLine(res);
        }
        Console.WriteLine("ArrayList2の要素数 = " + list2.Count);
        list2.RemoveAt(5);
        Console.WriteLine("ArrayList2の要素数(更新後) = " + list2.Count);
    }
}

出力

上記のコードを実行すると、次のような結果が表示されます −

ArrayList1の要素...
A
B
C
D
E
F
G
H
I
ArrayList2の要素...
A
B
C
D
E
F
G
H
I
ArrayList2の要素数 = 9
ArrayList2の要素数(更新後) = 8

この例では、RemoveAt(5)によってインデックス5(6番目)の要素「F」が削除され、要素数が9から8に減少しています。

例2

もう一つの例を見てみましょう −

using System;
using System.Collections;
public class Demo {
    public static void Main(String[] args) {
        ArrayList list1 = new ArrayList();
        list1.Add("Laptop");
        list1.Add("Dektop");
        list1.Add("Wearables");
        list1.Add("Tablet");
        list1.Add("Notebook");
        list1.Add("Ultrabooks");
        Console.WriteLine("ArrayList1の要素...");
        foreach (string res in list1) {
            Console.WriteLine(res);
        }
        Console.WriteLine("ArrayListの要素数 = " + list1.Count);
        list1.RemoveAt(2);
        Console.WriteLine("ArrayListの要素数(更新後) = " + list1.Count);
    }
}

出力

このコードの出力は以下のとおりです −

ArrayList1の要素...
Laptop
Dektop
Wearables
Tablet
Notebook
Ultrabooks
ArrayListの要素数 = 6
ArrayListの要素数(更新後) = 5

ここではRemoveAt(2)により、インデックス2(3番目)の要素「Wearables」が削除され、要素数が6から5になっています。なお、存在しないインデックスを指定した場合はArgumentOutOfRangeExceptionがスローされるため、事前にCountプロパティなどで範囲チェックを行うことが推奨されます。

  1. C#のArrayListからすべての要素を削除する方法

    C#のArrayListからすべての要素を削除するには、Clear()メソッドを使用します。Clear()メソッドを呼び出すと、コレクション内の全要素が削除され、要素数(Count)は0になります。 例1:ArrayListの全要素を削除する using System; using System.Collections; public class Demo { public static void Main(String[] args){ ArrayList list1 = new ArrayList(); list1.Add(A);

  2. C#でHashSetに指定された要素が含まれているか確認する方法

    C#のHashSet<T>に特定の要素が含まれているかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がHashSet内に存在する場合はtrue、存在しない場合はfalseを返します。Contains()メソッドの基本構文public bool Contains (T item);引数には検索対象の要素を渡します。HashSetはハッシュテーブルを基盤としているため、要素の検索はO(1)の計算量で実行でき、非常に高速です。例1:数値型のHashSetでContains()を使う以下は、int型のHashSetに対してContains()メ