どうも、ちょげ(@chogetarou)です。
配列(array)の要素のインデックスを後ろから検索する方法を紹介します。
方法

配列(array)の要素のインデックスを後ろから検索する方法は、2つあります。
Array.LastIndexOf()
ひとつは、Array.LastIndexOf()を使う方法です。
まず、Array.LastIndexOf()を呼び出します。
そして、Array.LastIndexOf()の第1引数に配列、第2引数にインデックスを取得する要素を指定します。
//arr=対象の配列, item=要素
int result = Array.LastIndexOf(arr, item);
上記のArray.LastIndexOf()は、配列の要素のインデックスを後ろから検索します。
使用例
using System;
public class Example
{
public static void Main()
{
string[] nums = new string[5] { "one", "two", "three", "four", "five" };
int result = Array.LastIndexOf(nums, "four");
int result2 = Array.LastIndexOf(nums, "two");
Console.WriteLine(result);
Console.WriteLine(result2);
}
}
出力:
3
1
Array.FindLastIndex()
もうひとつは、Array.FindLastIndex()を使う方法です。
まず、Array.FindLastIndex()を呼び出します。
そして、Array.FindLastIndex()の第1引数に配列、第2引数に「引数 => 引数 == 要素
」のラムダ式を指定します。
//arr=対象の配列, element=要素
int result = Array.FindLastIndex(arr, item => item == element);
上記のArray.FindLastIndex()は、配列の要素のインデックスを後ろから検索します。
使用例
using System;
public class Example
{
public static void Main()
{
string[] nums = new string[5] { "one", "two", "three", "four", "five" };
int result = Array.FindLastIndex(nums, item => item == "four");
int result2 = Array.FindLastIndex(nums, item => item == "two");
Console.WriteLine(result);
Console.WriteLine(result2);
}
}
出力:
3
1
まとめ
配列(array)の要素のインデックスを後ろから検索する方法は、次の2つです。
- Array.LastIndexOf()を使う方法
int result = Array.LastIndexOf(arr, item);
- Array.FindLastIndex()を使う方法
int result = Array.FindLastIndex(arr, item => item == element);
コメント