[C#]リストの最後の要素を削除する方法 / How to remove the last element of List

C#

リストの最後の要素を削除するためには、最後の要素のインデックスを取得後、RemoveAt(Int32) で取得したインデックスを指定して削除すればよいです。

ただし、RemoveAt(Int32)は読み取り専用のリストである場合、例外が発生するため注意が必要です。

下記は実装例です。拡張メソッドとして実装しています。

C#
  public static bool RemoveLast<T>(this IList<T> source)
  {
      if (source is null || !source.Any())
      {
          return false;
      }

      if (source.IsReadOnly)
      {
          return false;
      }

      var lastIndex = source.Count - 1;
      if (lastIndex < 0)
      {
          return false;
      }

      source.RemoveAt(lastIndex);
      return true;
  }

コメント

タイトルとURLをコピーしました