どうも、ちょげ(@chogetarou)です。
配列の末尾の要素を削除する方法を紹介します。
方法

配列の末尾の要素を削除する方法は、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つ小さくし、配列の末尾を削除します。
使用例
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()を使う方法
コメント