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

C#-এ শব্দগুলো লেক্সিকোগ্রাফিক্যাল অর্ডারে সর্ট করা

C#-এ স্ট্রিং অ্যারে বা লিস্টকে লেক্সিকোগ্রাফিক্যাল (শব্দকোষের অক্ষরানুক্রমিক) অর্ডারে সর্ট করা খুব সহজ। আপনি LINQ কোয়েরি সিনট্যাক্স বা মেথড সিনট্যাক্স দুটোই ব্যবহার করতে পারেন।

প্রাথমিক সেটআপ

string[] arr = new string[] { "Indian", "Moroccan", "American" };

পদ্ধতি ১: LINQ কোয়েরি সিনট্যাক্স

var sorted = from a in arr
             orderby a
             select a;

পদ্ধতি ২: LINQ মেথড সিনট্যাক্স (আধুনিক ও সংক্ষিপ্ত)

var sorted = arr.OrderBy(a => a);

সম্পূর্ণ উদাহরণ

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        string[] arr = new string[] { "Indian", "Moroccan", "American" };

        Console.WriteLine("মূল অ্যারে:");
        foreach (string s in arr)
            Console.WriteLine(s);

        // LINQ মেথড সিনট্যাক্স ব্যবহার
        var sorted = arr.OrderBy(a => a);

        Console.WriteLine("\nসর্ট করা (লেক্সিকোগ্রাফিক্যাল):");
        foreach (string res in sorted)
        {
            Console.WriteLine(res);
        }
    }
}

আউটপুট

মূল অ্যারে:
Indian
Moroccan
American

সর্ট করা (লেক্সিকোগ্রাফিক্যাল):
American
Indian
Moroccan

এডভান্সড সর্টিং অপশন

অবরোহী ক্রম (Descending)

var sortedDesc = arr.OrderByDescending(a => a);

কেস-ইনসেনসিটিভ সর্টিং

var sortedCI = arr.OrderBy(a => a, StringComparer.OrdinalIgnoreCase);

কাস্টম কালচার অনুযায়ী সর্টিং


using System.Globalization;

var culture = new CultureInfo("bn-BD");
var sortedBN = arr.OrderBy(a => a, culture.CompareInfo.GetStringComparer(CompareOptions.None));

তবে মূল অ্যারে সর্ট করা (In-place)

Array.Sort(arr); // মূল অ্যারেটাই সর্ট হয়ে যাবে

পারফরম্যান্স নোট

  • OrderBy একটি নতুন সিকোয়েন্স রিটার্ন করে (লেজি ইভ্যালুয়েশন)।
  • Array.Sort ইন-প্লেস সর্ট করে, মেমরি দক্ষ।
  • ছোট অ্যারের জন্য পারফরম্যান্স পার্থক্য নগণ্য।
  1. অ্যারে (লিস্ট) অ্যাসেন্ডিং অর্ডারে সর্ট করার পাইথন প্রোগ্রাম

  2. পাইথনে বাক্যের শব্দগুলো ক্রমবর্ধমান কন্ডিশনে সর্ট করার প্রোগ্রাম

  3. পাইথনে শব্দগুলো লেক্সিকোগ্রাফিক্যাল অর্ডারে সর্ট করার প্রোগ্রাম

  4. Python-এ শব্দগুলো আলফাবেটিক আর্ডারে সর্ট করা