Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Tìm chỉ số cuối cùng của phần tử trong mảng C#


Giới thiệu

Phương thức tĩnh Array.LastIndexOf<T>(T[] array, T value) trả về chỉ số 0-based của lần xuất hiện cuối cùng của value trong mảng. Trả về -1 nếu không tìm thấy.

Ví dụ cơ bản

int[] val = { 97, 45, 76, 21, 89, 45 };
int res = Array.LastIndexOf(val, 45); // 5

Ví dụ hoàn chỉnh

using System;

public class Demo
{
    public static void Main()
    {
        int[] val = { 97, 45, 76, 21, 89, 45 };
        int res = Array.LastIndexOf(val, 45);
        Console.WriteLine("Index of element 45 is = " + res);
    }
}

Kết quả

Index of element 45 is = 5

Các nạp chồng LastIndexOf

  • LastIndexOf(Array, object) - mảng 1 chiều, object.
  • LastIndexOf(Array, object, int startIndex) - tìm ngược từ startIndex về 0.
  • LastIndexOf(Array, object, int startIndex, int count) - tìm trong đoạn [startIndex-count+1, startIndex].
  • Generic LastIndexOf<T>(T[], T, ...) - type-safe.

So sánh IndexOf vs LastIndexOf

Phương thứcTìmTrả về (ví dụ trên)
IndexOfĐầu tiên1
LastIndexOfCuối cùng5

Lưu ý

  • So sánh dùng EqualityComparer<T>.Default.
  • Phức tạp O(n) - duyệt ngược từ cuối.
  • Với mảng 2 chiều, ném RankException (chỉ hỗ trợ 1 chiều).