LINQ এর Where ক্লজ ব্যবহার করে আপনি ডেটার মধ্যে একটি নির্দিষ্ট শর্ত পূর্ণকারী উপাদানগুলি ফিল্টার করতে পারেন। এটি একটি সাধারণ এবং শক্তিশালী ফিচার, যা কোডে শর্ত দিয়ে নির্দিষ্ট ডেটা বের করার জন্য ব্যবহৃত হয়। Where ক্লজ সাধারণত কোনো কন্ডিশন বা শর্ত (যেমন সংখ্যা, স্ট্রিং বা অন্য যেকোনো ভ্যালু) নির্ধারণ করার মাধ্যমে ডেটা ফিল্টার করার জন্য ব্যবহার করা হয়।
Where ক্লজ এর মাধ্যমে আপনি ডেটাসেট থেকে এক বা একাধিক শর্তের ভিত্তিতে প্রয়োজনীয় ডেটা নির্বাচন করতে পারবেন। এটি Method Syntax এবং 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 বের করার জন্য ব্যবহৃত হয়েছে।
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 ক্লজ ব্যবহার করে একাধিক শর্ত দিয়েও ডেটা ফিল্টার করা যায়। এটি AND বা OR শর্ত দিয়ে করা হতে পারে।
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 হতে হবে)।
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 ক্লজে যেকোনো ধরনের শর্ত ব্যবহার করা যেতে পারে:
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 ক্লজ একটি শক্তিশালী LINQ ফিচার যা ডেটা ফিল্টার করার জন্য ব্যবহৃত হয়। এটি Query Syntax এবং Method Syntax উভয়ই ব্যবহৃত হতে পারে এবং বিভিন্ন শর্তের ভিত্তিতে ডেটা কুয়েরি এবং নির্বাচন করতে সক্ষম। LINQ এর মাধ্যমে ডেটা ফিল্টারিং খুবই সহজ এবং কার্যকরী হয়, যা কোডের রিডেবিলিটি এবং পারফরম্যান্সের উন্নতি করতে সাহায্য করে।
common.read_more