C#-এ Array.FindLast() মেথডটি একটি এক-মাত্রিক অ্যারেতে নির্দিষ্ট শর্ত (predicate) পূরণকারী শেষ উপাদান খুঁজে বের করে এবং সেটি ফেরত দেয়। না পাওয়া গেলে ডিফল্ট মান (রেফারেন্স টাইপের জন্য null, ভ্যালু টাইপের জন্য 0/false) ফেরত দেয়।
সিনট্যাক্স (Syntax)
public static T FindLast(T[] array, Predicate match);
প্যারামিটার:
array- সার্চ করার এক-মাত্রিক, জিরো-বেইসড অ্যারেmatch-Predicate<T>ডেলিগেট যা শর্ত নির্ধারণ করে
উদাহরণ: 'b' দিয়ে শুরু হওয়া শেষ স্ট্রিং খুঁজে বের করা
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();
// 'b' দিয়ে শুরু হওয়া শেষ উপাদান খুঁজে বের করা
string res = Array.FindLast(arr, ele => ele.StartsWith("b", StringComparison.Ordinal));
Console.Write("\nLast Occurrence...\n");
Console.WriteLine("{0}", res);
}
}
আউটপুট
Array elements... car bike truck bus Last Occurrence... bus
অন্যান্য উদাহরণ
উদাহরণ: সংখ্যা অ্যারে - ৫০-এর চেয়ে বড় শেষ সংখ্যা
using System;
public class Demo
{
public static void Main()
{
int[] numbers = { 10, 25, 60, 30, 80, 45, 90 };
int lastGreaterThan50 = Array.FindLast(numbers, n => n > 50);
Console.WriteLine("Last number > 50: " + lastGreaterThan50); // 90
int lastGreaterThan100 = Array.FindLast(numbers, n => n > 100);
Console.WriteLine("Last number > 100: " + lastGreaterThan100); // 0 (default)
}
}
আউটপুট
Last number > 50: 90 Last number > 100: 0
উদাহরণ: অবজেক্ট অ্যারে - শেষ পurnTime কর্মী
using System;
public class Employee
{
public string Name { get; set; }
public bool IsFullTime { get; set; }
public override string ToString() => $"{Name} (FullTime: {IsFullTime})";
}
public class Demo
{
public static void Main()
{
Employee[] employees =
{
new Employee { Name = "Alice", IsFullTime = true },
new Employee { Name = "Bob", IsFullTime = false },
new Employee { Name = "Charlie", IsFullTime = true },
new Employee { Name = "David", IsFullTime = false }
};
Employee lastFullTime = Array.FindLast(employees, e => e.IsFullTime);
Console.WriteLine("Last full-time employee: " + lastFullTime); // Charlie
}
}
FindLast() vs FindLastIndex() vs LastIndexOf()
| মেথড | রিটার্ন | ব্যবহার |
|---|---|---|
| FindLast | T (উপাদান) | শর্ত পূরণকারী শেষ উপাদান |
| FindLastIndex | int (ইন্ডেক্স) | শর্ত পূরণকারী শেষ উপাদানের ইন্ডেক্স |
| LastIndexOf | int (ইন্ডেক্স) | নির্দিষ্ট ভ্যালুর শেষ occurrence |
তুলনামূলক উদাহরণ
int[] arr = { 1, 5, 3, 5, 2, 5, 4 };
int lastIndexOf5 = Array.LastIndexOf(arr, 5); // 5 (value-based)
int lastIndexGT4 = Array.FindLastIndex(arr, n => n > 4); // 5 (predicate-based)
int lastValGT4 = Array.FindLast(arr, n => n > 4); // 5 (value returned)
Console.WriteLine($"LastIndexOf(5): {lastIndexOf5}");
Console.WriteLine($"FindLastIndex(>4): {lastIndexGT4}");
Console.WriteLine($"FindLast(>4): {lastValGT4}");
সতর্কতা: খালি অ্যারে বা শর্ত পূরণকারী উপাদান না থাকলে ডিফল্ট মান ফেরত দেয়। null চেক করুন যদি রেফারেন্স টাইপ হয়।