ফিল্টারিং ডেটা (Where ক্লজ ব্যবহার)

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

LINQ এর Where ক্লজ ব্যবহার করে আপনি ডেটার মধ্যে একটি নির্দিষ্ট শর্ত পূর্ণকারী উপাদানগুলি ফিল্টার করতে পারেন। এটি একটি সাধারণ এবং শক্তিশালী ফিচার, যা কোডে শর্ত দিয়ে নির্দিষ্ট ডেটা বের করার জন্য ব্যবহৃত হয়। Where ক্লজ সাধারণত কোনো কন্ডিশন বা শর্ত (যেমন সংখ্যা, স্ট্রিং বা অন্য যেকোনো ভ্যালু) নির্ধারণ করার মাধ্যমে ডেটা ফিল্টার করার জন্য ব্যবহার করা হয়।

Where ক্লজ এর মাধ্যমে আপনি ডেটাসেট থেকে এক বা একাধিক শর্তের ভিত্তিতে প্রয়োজনীয় ডেটা নির্বাচন করতে পারবেন। এটি Method Syntax এবং Query Syntax উভয় পদ্ধতিতেই ব্যবহৃত হতে পারে।


Where ক্লজ ব্যবহার (Query Syntax)

Query Syntax ব্যবহার করে Where ক্লজের মাধ্যমে ডেটা ফিল্টার করা খুবই সহজ। যেখানে from এবং where এর মধ্যে শর্ত দেওয়া হয়।

উদাহরণ:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Even numbers বের করা
var evenNumbers = from num in numbers
                  where num % 2 == 0
                  select num;

foreach (var num in evenNumbers)
{
    Console.WriteLine(num);  // Output: 2, 4, 6, 8, 10
}

এখানে Where ক্লজটি num % 2 == 0 শর্তের মাধ্যমে even numbers বের করার জন্য ব্যবহৃত হয়েছে।


Where ক্লজ ব্যবহার (Method Syntax)

Method Syntax এর মাধ্যমে Where মেথড ব্যবহার করা হয়। এটি LINQ Method Syntax এর অংশ এবং কোডটি আরও компакт এবং সংক্ষিপ্ত করে।

উদাহরণ:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// Even numbers বের করা
var evenNumbers = numbers.Where(num => num % 2 == 0);

foreach (var num in evenNumbers)
{
    Console.WriteLine(num);  // Output: 2, 4, 6, 8, 10
}

এখানে Where(num => num % 2 == 0) মেথডটি ফিল্টারিংয়ের জন্য ব্যবহৃত হয়েছে, যেখানে Lambda Expression এর মাধ্যমে শর্ত দেওয়া হয়েছে।


Where ক্লজের মাধ্যমে একাধিক শর্ত ফিল্টার করা

Where ক্লজ ব্যবহার করে একাধিক শর্ত দিয়েও ডেটা ফিল্টার করা যায়। এটি AND বা OR শর্ত দিয়ে করা হতে পারে।

উদাহরণ (Multiple conditions using AND):

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// 5 এর বেশি এবং even সংখ্যা বের করা
var result = numbers.Where(num => num > 5 && num % 2 == 0);

foreach (var num in result)
{
    Console.WriteLine(num);  // Output: 6, 8, 10
}

এখানে দুটি শর্ত দেয়া হয়েছে: num > 5 এবং num % 2 == 0 (অর্থাৎ সংখ্যা ৫ এর বেশি এবং even হতে হবে)।

উদাহরণ (Multiple conditions using OR):

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

// 5 এর বেশি অথবা odd সংখ্যা বের করা
var result = numbers.Where(num => num > 5 || num % 2 != 0);

foreach (var num in result)
{
    Console.WriteLine(num);  // Output: 1, 3, 5, 6, 7, 8, 9, 10
}

এখানে OR condition দেওয়া হয়েছে: num > 5 অথবা num % 2 != 0 (অর্থাৎ সংখ্যা ৫ এর বেশি অথবা odd হতে হবে)।


Where ক্লজে ব্যবহার করা শর্তের ধরন

Where ক্লজে যেকোনো ধরনের শর্ত ব্যবহার করা যেতে পারে:

  • অথবা সমীকরণ: (এবং, অথবা)
  • সংখ্যার শর্ত: (বড়, ছোট, সমান, বিভাজ্য)
  • স্ট্রিং শর্ত: (মানের তুলনা, শুরু, শেষ, ভিতরে ইত্যাদি)
  • কাস্টম শর্ত: (যেকোনো ব্যবহারকারী-সংজ্ঞায়িত শর্ত)

উদাহরণ (String comparison):

List<string> names = new List<string> { "Alice", "Bob", "Charlie", "David", "Eve" };

// "A" অক্ষর দিয়ে শুরু হওয়া নামগুলি বের করা
var result = names.Where(name => name.StartsWith("A"));

foreach (var name in result)
{
    Console.WriteLine(name);  // Output: Alice
}

এখানে StartsWith("A") ব্যবহার করা হয়েছে স্ট্রিংয়ের শুরুতে "A" অক্ষর থাকা নামগুলো বের করার জন্য।


Where ক্লজের কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য

  • Deferred Execution: Where ক্লজের ব্যবহার Deferred Execution সমর্থন করে, যা ডেটা কুয়েরি লেখার পর কেবল তখনই কার্যকর হয় যখন তার ফলাফল প্রয়োজন হয়।
  • Lazy Evaluation: যখন ডেটা ফিল্টার করা হয়, তখন Lazy Evaluation ঘটে। অর্থাৎ কেবলমাত্র ফিল্টার করা ডেটার উপরই কাজ করা হয়, পুরো ডেটাসেটের উপর নয়।
  • Performance Optimization: একাধিক শর্তের মাধ্যমে ডেটা ফিল্টার করার সময় LINQ নিজেই অপ্রয়োজনীয় ডেটাকে বাদ দিয়ে কাজ করে, যার ফলে পারফরম্যান্সের উন্নতি হয়।

সারাংশ

Where ক্লজ একটি শক্তিশালী LINQ ফিচার যা ডেটা ফিল্টার করার জন্য ব্যবহৃত হয়। এটি Query Syntax এবং Method Syntax উভয়ই ব্যবহৃত হতে পারে এবং বিভিন্ন শর্তের ভিত্তিতে ডেটা কুয়েরি এবং নির্বাচন করতে সক্ষম। LINQ এর মাধ্যমে ডেটা ফিল্টারিং খুবই সহজ এবং কার্যকরী হয়, যা কোডের রিডেবিলিটি এবং পারফরম্যান্সের উন্নতি করতে সাহায্য করে।

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

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

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

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