অর্ডারিং (OrderBy, OrderByDescending)

Microsoft Technologies - লিংক (LinQ) বেসিক LINQ অপারেশন (Basic LINQ Operations) |
169
169

LINQ-এ অর্ডারিং কুয়েরি অপারেশন ডেটাকে নির্দিষ্ট ক্রমে সাজানোর জন্য ব্যবহৃত হয়। OrderBy এবং OrderByDescending হল দুটি প্রধান LINQ অপারেটর যা ডেটাকে যথাক্রমে Ascending (বৃদ্ধি) বা Descending (হ্রাস) অর্ডারে সাজাতে ব্যবহৃত হয়।


OrderBy

OrderBy কুয়েরি অপারেটর ডেটাকে Ascending Order বা ছোট থেকে বড় (কম থেকে বেশি) সাজানোর জন্য ব্যবহৃত হয়। এটি সাধারণত সংখ্যার বা অক্ষরের ক্রম অনুযায়ী ডেটা সাজানোর জন্য ব্যবহার করা হয়।


OrderBy এর উদাহরণ

ধরা যাক, আমাদের একটি Customer ক্লাস রয়েছে এবং আমরা Customer লিস্টের মধ্যে Age ফিল্ড অনুযায়ী ক্রমবর্ধমানভাবে সাজাতে চাই:

public class Customer
{
    public string Name { get; set; }
    public int Age { get; set; }
}

List<Customer> customers = new List<Customer>
{
    new Customer { Name = "Alice", Age = 30 },
    new Customer { Name = "Bob", Age = 25 },
    new Customer { Name = "Charlie", Age = 35 }
};

// OrderBy ব্যবহার করে Ascending Order এ সাজানো
var orderedCustomers = customers.OrderBy(c => c.Age);

foreach (var customer in orderedCustomers)
{
    Console.WriteLine($"{customer.Name}, Age: {customer.Age}");
}

আউটপুট:

Bob, Age: 25
Alice, Age: 30
Charlie, Age: 35

এখানে OrderBy Age অনুযায়ী Ascending Order-এ ডেটা সাজাচ্ছে।


OrderByDescending

OrderByDescending কুয়েরি অপারেটর ডেটাকে Descending Order বা বড় থেকে ছোট (বেশি থেকে কম) সাজানোর জন্য ব্যবহৃত হয়।


OrderByDescending এর উদাহরণ

ধরা যাক, এবার আমরা Age ফিল্ড অনুযায়ী ডেটাকে Descending Order-এ সাজাতে চাই:

// OrderByDescending ব্যবহার করে Descending Order এ সাজানো
var orderedCustomersDesc = customers.OrderByDescending(c => c.Age);

foreach (var customer in orderedCustomersDesc)
{
    Console.WriteLine($"{customer.Name}, Age: {customer.Age}");
}

আউটপুট:

Charlie, Age: 35
Alice, Age: 30
Bob, Age: 25

এখানে OrderByDescending Age অনুযায়ী Descending Order-এ ডেটা সাজাচ্ছে, অর্থাৎ বড় থেকে ছোট।


একাধিক শর্তে অর্ডারিং

কখনও কখনও, একাধিক শর্তে ডেটা সাজানো প্রয়োজন হয়, যেমন প্রথমে একটি ফিল্ডের উপর এবং তারপর অন্য একটি ফিল্ডের উপর অর্ডারিং করা। LINQ এ একাধিক শর্তে অর্ডারিং করার জন্য ThenBy এবং ThenByDescending ব্যবহার করা যায়।

OrderBy এবং ThenBy ব্যবহার করে একাধিক শর্তে অর্ডারিং:

var orderedCustomersMulti = customers
    .OrderBy(c => c.Age)                // প্রথমে Age অনুযায়ী Ascending Order
    .ThenBy(c => c.Name);                // এরপর Name অনুযায়ী Ascending Order

foreach (var customer in orderedCustomersMulti)
{
    Console.WriteLine($"{customer.Name}, Age: {customer.Age}");
}

আউটপুট:

Bob, Age: 25
Alice, Age: 30
Charlie, Age: 35

এখানে প্রথমে Age অনুযায়ী Ascending Order-এ সাজানো হয়েছে, এবং তারপর Name অনুযায়ী Ascending Order-এ সাজানো হয়েছে।


OrderBy এবং OrderByDescending এর সুবিধা

  • সহজ ব্যবহার: OrderBy এবং OrderByDescending ব্যবহার করা খুবই সহজ, এবং ডেটাকে খুব দ্রুত নির্দিষ্ট ক্রমে সাজাতে সহায়ক।
  • Deferred Execution: LINQ-এর Deferred Execution সুবিধা থাকায়, কুয়েরি তখনই এক্সিকিউট হয় যখন তার ফলাফল প্রয়োজন হয়, যা ডেটাবেস অপ্টিমাইজেশনের জন্য সহায়ক।
  • একাধিক ফিল্ডে সাজানো: ThenBy এবং ThenByDescending ব্যবহার করে একাধিক ফিল্ডে সজ্জন করা যায়।

উপসংহার

OrderBy এবং OrderByDescending LINQ-এ ডেটাকে ক্রম অনুযায়ী সাজানোর দুটি মূল অপারেটর। এগুলি Ascending এবং Descending অর্ডারে ডেটা সাজাতে ব্যবহৃত হয়, এবং একাধিক শর্তে সাজাতে ThenByThenByDescending ব্যবহার করা যায়। এগুলি LINQ কুয়েরি অপারেশনগুলোকে আরও শক্তিশালী এবং কার্যকরী করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion