どうも、ちょげ(@chogetarou)です。
System.Linqを使ってリスト(List)の末尾からN個の要素を削除する方法を紹介します。
方法

System.Linqを使ってリスト(List)の末尾からN個の要素を削除するには、Take()を使います。
まず、System.Linqを導入します。
using System.Linq;
次に、リスト(List)からTake()を呼び出します。
Take()の引数にリストの長さを削除する要素数で引いた値を指定します。
リストの長さは、Countプロパティで取得します。
そして、Take()からToList()を呼び出します。
//N=削除する要素数
List<T> result = list.Take(list.Count - n).ToList();
上記のToList()は、Take()を呼び出したリスト(List)の後ろからN個の要素を削除したリストを返します。(呼び出したリストに影響なし)
使用例
using System;
using System.Linq;
using System.Collections.Generic;
public class Sample
{
public static void Main()
{
List<int> numbers = new List<int>() { 1, 2, 3, 4, 5, 6 };
int n = 3;
List<int> result = numbers.Take(numbers.Count - n).ToList();
foreach (int x in result)
{
Console.WriteLine(x);
}
}
}
出力:
1
2
3
コメント