LINQを使ってリストの末尾を消去する方法を紹介します。
RemoveAt()|元のリスト自体を変更する
リストに対してRemoveAt(リストの要素数 – 1)を呼び出すことで、そのリスト自体の末尾を削除できます。
public class Program
{
static void Main(string[] args)
{
// 対象の数列リスト
var numbers_01 = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 末尾を削除(元のリスト自体を変更)
numbers_01.RemoveAt(numbers_01.Count - 1);
// 表示(確認用)
foreach (var number in numbers_01)
{
Console.Write($"{number} ");
}
}
}
1 2 3 4 5 6 7 8 9
Take()|新しいリストとして作成する
リストに対してTake(リストの要素数 – 1)を呼び出すことで、そのリストの末尾を削除したリストを取得できます。元のリストは変更されません。
(厳密にはIEnumerable<T>シーケンスが取得できます。リストに変換したい場合は以下の例のように末尾でToList()を呼び出してください。List<T>型になります。)
public class Program
{
static void Main(string[] args)
{
// 対象の数列リスト
var numbers_02 = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// 末尾を削除(新しいリストとして取得)
var convertNumber_02 = numbers_02.Take(numbers_02.Count - 1).ToList();
// 表示(確認用)
foreach (var number in convertNumber_02)
{
Console.Write($"{number} ");
}
}
}
1 2 3 4 5 6 7 8 9
コメント