Giới thiệu
Phương thức tĩnh Array.IndexOf(Array, object) tìm chỉ số đầu tiên của giá trị trong mảng 1 chiều. Trả về -1 nếu không tìm thấy.
Ví dụ cơ bản
string[] str = { "Cat", "Mat", "Rat" };
int index = Array.IndexOf(str, "Mat"); // 1
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
string[] str = { "Cat", "Mat", "Rat" };
Console.WriteLine("Our Array =");
foreach (string res in str) Console.WriteLine(res);
int findIndex = Array.IndexOf(str, "Mat");
Console.Write("Element Mat found at index: ");
Console.WriteLine(findIndex);
}
}
Kết quả
Our Array = Cat Mat Rat Element Mat found at index: 1
Các nạp chồng IndexOf
IndexOf(Array, value)- toàn mảng.IndexOf(Array, value, startIndex)- từ startIndex đến cuối.IndexOf(Array, value, startIndex, count)- trong đoạn [startIndex, startIndex+count).- Generic:
IndexOf<T>(T[], T, ...)- type-safe.
So sánh với List.IndexOf
List<T>.IndexOf(T)- instance method, type-safe, O(n).Array.IndexOf- static, làm việc với Array, boxing cho value type.
Lưu ý
- So sánh dùng
EqualityComparer<T>.Default. - Với string, so sánh ordinal (case-sensitive) mặc định.
- Để tìm case-insensitive:
Array.FindIndex(arr, s => s.Equals("mat", StringComparison.OrdinalIgnoreCase)).