パハットノート

主にUnity(C#)を中心としたプログラムの備忘録

C#における配列の検索(その2 LastIndexOf)

概要

指定された配列の指定された範囲についてある特定の要素が何番目にあるか検索をする。IndexOfと異なり調べる要素が配列に複数含まれていたら最も大きい番号を返す。

関数 説明
public static int LastIndexOf(Array array, object value); 一番基本的なもの
valueの値が配列arrayの何番目の要素かを返す。
valueが含まれていなかったら-1が返ってくる。
arrayの要素の型とvalueの型が違うと-1が返ってくる。
public static int LastIndexOf(Array array, object value, int startIndex);; arrayの0番目の要素からstartIndex番目の要素に同様の検索を行う
public static int LastIndexOf(Array array, object value, int startIndex, int count); starIndex番目の数値から0番目の要素向きにcount個だけ同様の検索を行う。
配列の大きさを超えるとエラー


使用例


public static int LastIndexOf(Array array, object value);

using System;
public class SampleLastIndexOf
{
    public static void Main()
    {
        int[] a = new int[9] { 5, 3, 2, 1, 5, 9, 10, 5, 5 };
        Console.WriteLine(Array.LastIndexOf(a, 5));
        Console.WriteLine(Array.LastIndexOf(a, 3));
        Console.WriteLine(Array.LastIndexOf(a, "2"));
        Console.WriteLine(Array.LastIndexOf(a, -1));
    }
}
//実行結果
8
1
-1
-1


public static int LastIndexOf(Array array, object value, int startIndex);

using System;
public class SampleLastIndexOf
{
    public static void Main()
    {
        int[] a = new int[9] { 5, 3, 2, 1, 5, 9, 10, 5, 5 };
        Console.WriteLine(Array.LastIndexOf(a, 5, 2));
        Console.WriteLine(Array.LastIndexOf(a, 5, 7));
    }
}
//実行結果
0
7


public static int LastIndexOf(Array array, object value, int startIndex, int count

using System;
public class SampleLastIndexOf
{
    public static void Main()
    {
        int[] a = new int[9] { 5, 3, 2, 1, 5, 9, 10, 5, 5 };
        Console.WriteLine(Array.LastIndexOf(a, 5, 2, 1));
        Console.WriteLine(Array.LastIndexOf(a, 5, 2, 3));
        Console.WriteLine(Array.LastIndexOf(a, 5, 5, 3));
    }
}
//実行結果
-1
0
4



関連記事