LINQ এর মাধ্যমে Arrays এবং Collections এর উপর Query করা
LINQ (Language Integrated Query) হল একটি শক্তিশালী ফিচার যা VB.Net (এবং অন্যান্য .NET ভাষা) এর মধ্যে সংযুক্ত রয়েছে, যা আপনাকে একাধিক ডেটা সোর্স (যেমন অ্যারে, কালেকশন, ডেটাবেস, XML, ইত্যাদি) থেকে ডেটা নিয়ে সহজভাবে কুয়েরি করতে দেয়। LINQ ব্যবহার করে আপনি খুব সহজে অ্যারে এবং কালেকশনগুলোতে ডেটা অনুসন্ধান, ফিল্টার, গ্রুপিং, অর্ডারিং, এবং বিভিন্ন ধরনের ম্যানিপুলেশন করতে পারেন।
এখানে Arrays এবং Collections এর উপর LINQ কুয়েরি করার কিছু সাধারণ উদাহরণ দেয়া হলো।
১. LINQ দিয়ে Arrays এর উপর Query করা
LINQ ব্যবহার করে আপনি সহজেই অ্যারের উপরে কুয়েরি চালাতে পারেন। LINQ to Objects ব্যবহার করে আপনি অ্যারে, লিস্ট বা অন্যান্য কালেকশনের উপর কুয়েরি করতে পারেন।
অ্যারে তৈরি এবং LINQ Query উদাহরণ:
Imports System.Linq
Sub Main()
' অ্যারে ডিফাইন করা
Dim numbers() As Integer = {10, 20, 30, 40, 50}
' LINQ Query ব্যবহার করে ফিল্টার করা
Dim result = From num In numbers
Where num > 25
Select num
' ফলাফল প্রদর্শন করা
For Each number In result
Console.WriteLine(number)
Next
End Subব্যাখ্যা:
- এখানে
numbersঅ্যারে তৈরি করা হয়েছে যা কিছু সংখ্যার সমষ্টি ধারণ করে। - LINQ কুয়েরি
From num In numbersএর মাধ্যমে অ্যারের প্রতিটি উপাদান চেক করা হচ্ছে।Where num > 25শর্ত অনুযায়ী শুধুমাত্র সেই উপাদানগুলি নির্বাচন করা হচ্ছে যা ২৫ এর বেশি। Select numব্যবহার করে কেবলমাত্র নির্বাচিত উপাদানগুলোকে আউটপুট করা হচ্ছে।
আউটপুট:
30
40
50২. LINQ দিয়ে Collections (List) এর উপর Query করা
লিস্ট হলো একটি সাধারণ কালেকশন টাইপ যা VB.Net-এ খুবই জনপ্রিয়। LINQ দিয়ে লিস্টের উপর কুয়েরি করার উদাহরণ নিচে দেওয়া হলো।
লিস্ট তৈরি এবং LINQ Query উদাহরণ:
Imports System.Linq
Sub Main()
' লিস্ট তৈরি
Dim names As New List(Of String) From {"John", "Jane", "Smith", "Alice", "Bob"}
' LINQ Query ব্যবহার করে নামের শুরু "J" দিয়ে শুরু হওয়া প্রাপ্তি
Dim result = From name In names
Where name.StartsWith("J")
Select name
' ফলাফল প্রদর্শন
For Each name In result
Console.WriteLine(name)
Next
End Subব্যাখ্যা:
- এখানে
namesনামক একটি লিস্ট তৈরি করা হয়েছে যা কিছু নাম ধারণ করে। - LINQ কুয়েরি ব্যবহার করে StartsWith("J") শর্তে সেই নামগুলো নির্বাচন করা হচ্ছে যা "J" দিয়ে শুরু হয়।
Select nameএর মাধ্যমে কেবল নির্বাচিত নামগুলো আউটপুট হচ্ছে।
আউটপুট:
John
Jane৩. LINQ দিয়ে Data Manipulation (Sorting, Grouping, etc.)
LINQ দিয়ে আপনি সহজে ডেটা সোর্ট, গ্রুপ, এবং ম্যানিপুলেট করতে পারেন। নীচে সেগুলোর কিছু উদাহরণ দেখানো হলো।
Soring (সাজানো) Example:
Imports System.Linq
Sub Main()
' লিস্ট তৈরি
Dim numbers As New List(Of Integer) From {5, 3, 8, 1, 7}
' LINQ Query দিয়ে সিকোয়েন্স সট করা
Dim result = From num In numbers
Order By num
Select num
' ফলাফল প্রদর্শন
For Each number In result
Console.WriteLine(number)
Next
End Subব্যাখ্যা:
- এখানে
Order Byব্যবহার করে লিস্টের সংখ্যা গুলি ছোট থেকে বড় (ascending) অর্ডারে সাজানো হয়েছে।
আউটপুট:
1
3
5
7
8Grouping (গ্রুপিং) Example:
Imports System.Linq
Sub Main()
' লিস্ট তৈরি
Dim numbers As New List(Of Integer) From {5, 10, 15, 20, 25, 30}
' LINQ Query দিয়ে গ্রুপিং করা
Dim result = From num In numbers
Group num By num Mod 10 Into Group
Select Group
' গ্রুপের ফলাফল প্রদর্শন
For Each group In result
For Each number In group
Console.WriteLine(number)
Next
Next
End Subব্যাখ্যা:
- এখানে
Group num By num Mod 10 Into Groupব্যবহার করে সংখ্যাগুলোর শেষ ডিজিটের ভিত্তিতে গ্রুপ করা হয়েছে।
আউটপুট:
5
15
25
10
20
30৪. LINQ Method Syntax (Methode Syntax) ব্যবহার
LINQ-এ আপনি Query Syntax (যেমন উপরের উদাহরণ) বা Method Syntax (যেমন ফাংশন কল) ব্যবহার করতে পারেন। Method Syntax হল LINQ কুয়েরি লেখার আরেকটি উপায়, যা অনেক বেশি ফাংশনাল স্টাইলের এবং পদ্ধতিগত।
LINQ Method Syntax উদাহরণ:
Imports System.Linq
Sub Main()
' লিস্ট তৈরি
Dim numbers As New List(Of Integer) From {10, 20, 30, 40, 50}
' LINQ Method Syntax ব্যবহার করে ফিল্টার করা
Dim result = numbers.Where(Function(n) n > 25).ToList()
' ফলাফল প্রদর্শন
For Each number In result
Console.WriteLine(number)
Next
End Subব্যাখ্যা:
Whereমেথড ব্যবহার করে ফিল্টার করা হয়েছে যাতে শুধুমাত্র ২৫ এর বেশি সংখ্যাগুলি নির্বাচন করা হয়।ToList()মেথড ব্যবহার করে ফলাফল লিস্টে রূপান্তর করা হয়েছে।
আউটপুট:
30
40
50৫. Multiple Conditions (একাধিক শর্ত) সহ LINQ Query
LINQ-এ আপনি একাধিক শর্ত দিয়ে কুয়েরি চালাতে পারেন।
Multiple Conditions Example:
Imports System.Linq
Sub Main()
' লিস্ট তৈরি
Dim numbers As New List(Of Integer) From {10, 20, 30, 40, 50}
' LINQ Query দিয়ে একাধিক শর্তে ফিল্টার করা
Dim result = From num In numbers
Where num > 20 And num < 50
Select num
' ফলাফল প্রদর্শন
For Each number In result
Console.WriteLine(number)
Next
End Subব্যাখ্যা:
- এখানে
num > 20 And num < 50শর্তে শুধুমাত্র সেই সংখ্যাগুলিই নির্বাচন করা হচ্ছে যা ২০ এর বেশি এবং ৫০ এর কম।
আউটপুট:
30
40সারাংশ
- LINQ (Language Integrated Query) VB.Net-এ একটি শক্তিশালী এবং নমনীয় কুয়েরি প্রযুক্তি যা আপনাকে অ্যারে বা কালেকশনের উপর ডেটা অনুসন্ধান, ফিল্টার, গ্রুপিং, এবং সোর্টিং করতে সাহায্য করে।
- Query Syntax এবং Method Syntax দুটোই LINQ-এ ডেটা কুয়েরি করার পদ্ধতি।
- LINQ ব্যবহার করে সহজে এবং কার্যকরীভাবে ডেটা অ্যাক্সেস এবং ম্যানিপুলেশন করা যায়।
এই কৌশলগুলি ব্যবহার করে আপনি সহজেই আপনার অ্যাপ্লিকেশনে ডেটার উপর জটিল কুয়েরি চালাতে পারবেন।