リストの最後の要素を削除するためには、最後の要素のインデックスを取得後、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;
  } 
  
  
  
  

コメント