কম্পিউটার টিউটোরিয়াল

C#-এ Array.FindLast() মেথড: শর্ত পূরণকারী শেষ উপাদান খুঁজে বের করা


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()

মেথডরিটার্নব্যবহার
FindLastT (উপাদান)শর্ত পূরণকারী শেষ উপাদান
FindLastIndexint (ইন্ডেক্স)শর্ত পূরণকারী শেষ উপাদানের ইন্ডেক্স
LastIndexOfint (ইন্ডেক্স)নির্দিষ্ট ভ্যালুর শেষ 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 চেক করুন যদি রেফারেন্স টাইপ হয়।

  1. C# Console.SetBufferSize() মেথড

  2. C# Console.ResetColor() মেথড

  3. C#-এ Array.BinarySearch মেথড

  4. C#-এ Clone() মেথড