[C#]配列(Array)の末尾の要素を削除するには?

C#

どうも、ちょげ(@chogetarou)です。

配列の末尾の要素を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列の末尾の要素を削除する方法は、2つあります。

SkipLast()

1つは、System.LinqのSkipLast()を使う方法です。

まず、System.Linqを導入します。

using System.Linq;

そして、配列から引数に「1」を指定したSkipLast()を呼び出し、SkipLast()からToArray()を呼び出します。

ToArray()の戻り値を配列に代入します。

array = array.SkipLast(1).ToArray();

使用例

using System;
using System.Linq;

public class Example
{
	public static void Main()
	{
		int[] numbers = new int[5]{ 1, 2, 3, 4, 5 };
		numbers = numbers.SkipLast(1).ToArray();

		Console.WriteLine(numbers.Last()); //4
	}
}

Array.Resize()

もう1つは、Array.Resize()を使う方法です。

まず、Array.Resize()を呼び出します。

そして、Array.Resizeの第1引数に配列の参照、第2引数に配列のLegthプロパティを「−1」した値を指定します。

Array.Resize(ref array, array.Length - 1);

上記のArray.Resize()は、配列のサイズを1つ小さくし、配列の末尾を削除します。

Array.Resize()は、配列のサイズ自体を変えます。

使用例

using System;

public class Example
{
	public static void Main()
	{
		int[] numbers = new int[5]{ 1, 2, 3, 4, 5 };
		
		Array.Resize(ref numbers, numbers.Length - 1);

		Console.WriteLine(numbers.Last()); //4
	}
}

まとめ

配列の末尾の要素を削除する方法は、次の2つです。

  • System.LinqのSkipLast()を使う方法
  • Array.Resize()を使う方法

コメント

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