C# में Array.LastIndexOf() मेथड निर्दिष्ट ऑब्जेक्ट को खोजता है और संपूर्ण सरणी में उसकी अंतिम घटना का सूचकांक लौटाता है।
सिंटैक्स
public static int LastIndexOf<T> (T[] array, T val);
- array: खोजी जाने वाली एक-आयामी, शून्य-आधारित सरणी
- val: सरणी में स्थित करने के लिए ऑब्जेक्ट
उदाहरण
using System;
public class Demo
{
public static void Main()
{
Console.WriteLine("Array elements...");
string[] arr = { "car", "bike", "truck", "bus" };
for (int i = 0; i < arr.Length; i++)
{
Console.Write("{0} ", arr[i]);
}
Console.WriteLine();
int lastIndex = Array.LastIndexOf(arr, "bus");
Console.WriteLine("Last Occurrence of element bus is at index = " + lastIndex);
}
}
आउटपुट
Array elements... car bike truck bus Last Occurrence of element bus is at index = 3
अधिक उदाहरण और ओवरलोड्स
1. डुप्लिकेट तत्वों के साथ
string[] fruits = { "apple", "banana", "apple", "cherry", "apple" };
int lastApple = Array.LastIndexOf(fruits, "apple");
Console.WriteLine("अंतिम 'apple' सूचकांक: " + lastApple); // 4
int lastBanana = Array.LastIndexOf(fruits, "banana");
Console.WriteLine("अंतिम 'banana' सूचकांक: " + lastBanana); // 1
int notFound = Array.LastIndexOf(fruits, "mango");
Console.WriteLine("'mango' सूचकांक: " + notFound); // -1
2. प्रारंभ सूचकांक निर्दिष्ट करना (LastIndexOf ओवरलोड)
string[] arr = { "a", "b", "c", "b", "a", "b" };
// पूरे सरणी में अंतिम 'b'
Console.WriteLine(Array.LastIndexOf(arr, "b")); // 5
// सूचकांक 3 से पीछे की ओर खोजें
Console.WriteLine(Array.LastIndexOf(arr, "b", 3)); // 3
// सूचकांक 3 से 3 तत्व पीछे की ओर खोजें (सूचकांक 3, 2, 1)
Console.WriteLine(Array.LastIndexOf(arr, "b", 3, 3)); // 1
3. केस-इनसेंसिटिव खोज (कस्टम तुलनाकर्ता)
string[] arr = { "Apple", "BANANA", "apple", "Cherry" };
// डिफ़ॉल्ट केस-सेंसिटिव
Console.WriteLine(Array.LastIndexOf(arr, "apple")); // 2
// केस-इनसेंसिटिव के लिए कस्टम लॉजिक
int lastIndex = -1;
for (int i = arr.Length - 1; i >= 0; i--)
{
if (string.Equals(arr[i], "APPLE", StringComparison.OrdinalIgnoreCase))
{
lastIndex = i;
break;
}
}
Console.WriteLine("केस-इनसेंसिटिव अंतिम सूचकांक: " + lastIndex); // 2
वापसी मान
- ≥ 0: तत्व मिला, सूचकांक लौटाता है
- -1: तत्व नहीं मिला
मुख्य बिंदु
- पीछे से आगे खोजता है (अंतिम सूचकांक से 0 की ओर)
- डिफ़ॉल्ट रूप से केस-सेंसिटिव तुलना (स्ट्रिंग्स के लिए)
- null तत्वों को खोज सकता है
- null सरणी के लिए ArgumentNullException फेंकता है
- सरणी की रैंक 1 से अधिक होने पर RankException फेंकता है
- समानता जांच के लिए
EqualityComparer<T>.Defaultका उपयोग करता है
संबंधित मेथड्स
- Array.IndexOf() - पहली घटना का सूचकांक
- Array.FindLastIndex() - प्रीडिकेट के आधार पर अंतिम सूचकांक
- Array.BinarySearch() - क्रमबद्ध सरणी में तेज खोज