Fun Coding

学んだことを記録していきます!

【C#】リストの要素を削除する方法(RemoveAt)

リストの要素を削除する方法の1つに「RemoveAt」メソッドがあります。
サンプルコードを交えて解説したいと思います。

説明

リストの指定したインデックスの要素を削除する。

ポイント

・削除できる要素は1つ
・指定したインデックスが0未満の場合はArgumentOutOfRangeExceptionが発生する
・指定したインデックスが要素数より大きい場合はArgumentOutOfRangeExceptionが発生する


指定したオブジェクトを1つ削除したい場合は「Remove」を使います。
funcording.hatenablog.com

コード
using System;
using System.Collections.Generic;

namespace Sample {
    /// <summary>
    /// メインプログラム
    /// </summary>
    public class Program {
        /// <summary>
        /// RemoveAtの使い方
        /// </summary>
        static void Main() {
            // リストを生成
            var list = new List<string>();

            // リストに値を追加
            list.Add("A");
            list.Add("B");
            list.Add("C");
            list.Add("A");
            list.Add("B");
            list.Add("C");

            // 該当するインデックスがある場合
            list.RemoveAt(1);
            Console.WriteLine("インデックス1を削除 : " + string.Join(", ", list));

            // 該当するインデックスがない場合
            try {
                list.RemoveAt(100);
            }
            catch(Exception ex) {
                Console.WriteLine("インデックス100を削除 : " + ex.GetType());
            }
        }
    }
}
出力
インデックス1を削除 : A, C, A, B, C
インデックス100を削除 : System.ArgumentOutOfRangeException