LINQ (লিংক) সি# প্রোগ্রামিং ল্যাঙ্গুয়েজে ডেটা কোয়েরি চালানোর একটি শক্তিশালী টুল যা বিভিন্ন ডেটা সোর্সের (যেমন: অ্যারে, লিস্ট, ডেটাবেস, XML) উপর কাজ করে। LINQ এর মাধ্যমে আমরা ডেটাকে সরাসরি কোয়েরি করতে পারি, যেটা SQL এর মতো ডেটাবেস কিউরির মতই কাজ করে তবে সাধারণ ডেটাসেটের উপরেও প্রয়োগ করা যায়। LINQ ব্যবহারের ফলে কোড আরও সংক্ষিপ্ত ও পড়তে সহজ হয়।
LINQ দুটি ধরনের সিনট্যাক্স সরবরাহ করে:
LINQ ব্যবহারের মাধ্যমে আমরা বিভিন্ন অপারেশন চালাতে পারি, যেমন:
Where
)OrderBy
, OrderByDescending
)Select
)GroupBy
)Count
)Sum
, Average
)using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// কোয়েরি সিনট্যাক্স ব্যবহার করে ফিল্টার করা
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
Console.WriteLine("Even Numbers:");
foreach (var number in evenNumbers)
{
Console.WriteLine(number); // Output: 2, 4, 6, 8
}
}
}
using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// মেথড সিনট্যাক্স ব্যবহার করে ফিল্টার করা
var evenNumbers = numbers.Where(x => x % 2 == 0);
Console.WriteLine("Even Numbers:");
foreach (var number in evenNumbers)
{
Console.WriteLine(number); // Output: 2, 4, 6, 8
}
}
}
LINQ অনেকগুলো অপারেশন সরবরাহ করে যা ডেটা নিয়ে বিভিন্ন ধরনের কাজ করতে ব্যবহার করা হয়। নিচে LINQ এর কয়েকটি সাধারণ অপারেশন নিয়ে উদাহরণ দেওয়া হলো:
Where
: নির্দিষ্ট শর্ত পূরণ করা ডেটা ফিল্টার করাvar evenNumbers = numbers.Where(x => x % 2 == 0);
Select
: ডেটা সংগ্রহ থেকে নির্দিষ্ট ফিল্ড বা উপাদান নির্বাচন করাList<string> names = new List<string> { "Alice", "Bob", "Charlie" };
var nameLengths = names.Select(name => name.Length);
foreach (var length in nameLengths)
{
Console.WriteLine(length); // Output: 5, 3, 7
}
OrderBy
এবং OrderByDescending
: ডেটা ক্রমানুসারে সাজানোvar orderedNumbers = numbers.OrderBy(x => x);
var descendingNumbers = numbers.OrderByDescending(x => x);
GroupBy
: ডেটাকে নির্দিষ্ট শর্ত অনুযায়ী গ্রুপ করাList<string> fruits = new List<string> { "Apple", "Banana", "Cherry", "Avocado", "Blueberry" };
var groupedFruits = fruits.GroupBy(fruit => fruit[0]);
foreach (var group in groupedFruits)
{
Console.WriteLine("Fruits that start with: " + group.Key);
foreach (var fruit in group)
{
Console.WriteLine(fruit);
}
}
Count
, Sum
, Average
: ডেটা গণনা ও গাণিতিক অপারেশনint count = numbers.Count();
int sum = numbers.Sum();
double average = numbers.Average();
Console.WriteLine($"Count: {count}, Sum: {sum}, Average: {average}");
// Output: Count: 9, Sum: 45, Average: 5
using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<string> students = new List<string> { "Alice", "Bob", "Charlie", "Alex", "Brian" };
// যেখানে নামের দৈর্ঘ্য ৪ বা তার বেশি, তাদের ফিল্টার করুন এবং সাজান
var filteredStudents = students
.Where(s => s.Length >= 4)
.OrderBy(s => s)
.Select(s => s.ToUpper());
Console.WriteLine("Filtered and Ordered Students:");
foreach (var student in filteredStudents)
{
Console.WriteLine(student);
}
}
}
Where
অপারেটরের মাধ্যমে ফিল্টার করেছি যাদের নামের দৈর্ঘ্য ৪ বা তার বেশি।OrderBy
অপারেটর ব্যবহার করে নামগুলোকে ক্রমানুসারে সাজানো হয়েছে।Select
অপারেটরের মাধ্যমে প্রতিটি নামকে uppercase এ রূপান্তরিত করেছি।LINQ ব্যবহার করে সি# এ ডেটা ম্যানিপুলেশনকে অনেক সহজ করা যায়। এটি ডেটাবেস কোয়েরির মতই কাজ করে, তাই ডেটা প্রসেসিং বা ডেটা বিশ্লেষণে LINQ অনেক গুরুত্বপূর্ণ।
আরও দেখুন...