সম্পাদিত প্রশ্নের উত্তর দেওয়ার জন্য: সংক্ষেপে, যখনই আপনাকে "ক্যোয়ারী" কার্যকারিতা প্রয়োগ করতে হয় (লিনকুতে কিউ এর জন্য দাঁড়ায়) লিনকিউ ব্যবহার করা উপকারী। সঠিক ডোমেন নির্ধারণ করা কঠিন, তবে এটি সংগ্রহ থেকে ডেটা উত্তোলন এবং হেরফেরের সাথে সম্পর্কিত বিভিন্ন কাজকে ব্যাপকভাবে সরল করে।
কিছুটা ব্যাখ্যা করার জন্য, প্রচুর ক্যোয়ারী কার্যকারিতা সরাসরি ভাষায় আনা হয়েছে (বা বরং বিভিন্ন লিংক-প্রয়োগকারী), সুতরাং সমষ্টি, ক্রম, দলবদ্ধকরণ, ফিল্টারিং, প্রজেকশনগুলি, যোগ দেয় (এবং আরও অনেকগুলি) সমস্ত কিছু পরিচালিত হয় আপনি. লিনকিউ-ভিত্তিক সমাধানগুলি সাধারণত আপনি "হাত দ্বারা" প্রয়োগ করতে এবং তাদের অভিপ্রায়টি আরও ভালভাবে যোগাযোগ করার চেয়ে খুব সংক্ষিপ্ত।
একটি সাধারণ উদাহরণ যা প্রায়শই লিনকিউয়ের শক্তি জানাতে সহায়তা করে তা হ'ল এক্সটেনশান দ্বারা গোষ্ঠীভুক্ত ডিরেক্টরিগুলির বিষয়বস্তু প্রদর্শন করা। আপনার মাথায় একটি সাধারণ আবশ্যক বাস্তবায়ন চালান - ইতিমধ্যে শুরুতে প্রচুর বাস্তবায়ন বিশদ থাকবে। সম্ভবত আমরা Dictionary<String, List<String>>
এক্সটেনশান দ্বারা ফাইল সূচক করতে একটি ব্যবহার করব । অবশ্যই, আমাদের কোনও কী ইতিমধ্যে উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখতে হবে, একটি তালিকা ইনস্ট্যান্টিয়েট করতে হবে, এতে যোগ করতে হবে ইত্যাদি ইত্যাদি হতে পারে:
Dictionary<string, List<string>> fileGroups = new Dictionary<string, List<string>>();
foreach (string file in Directory.GetFiles(Environment.CurrentDirectory))
{
string extension = Path.GetExtension(file).ToLower();
if (!fileGroups.ContainsKey(extension))
{
fileGroups[extension] = new List<string>();
}
fileGroups[extension].Add(file);
}
লিনকিউ সমতুল্য বিবেচনা করুন:
var query = from file in Directory.GetFiles(Environment.CurrentDirectory)
group file by Path.GetExtension(file).ToLower();
খেয়াল করুন যে ক্যোয়ারীটি কেবলমাত্র 2 টি লাইন, অবশ্যই আমরা আসা যে কোনও প্রয়োজনীয় সমাধানের চেয়ে কম। এটিও বেশ পঠনযোগ্য; সংকেত-থেকে-শব্দ অনুপাতটি প্রথম সমাধানের চেয়ে বেশি higher লিনকিউতে নতুন যাঁরা, তাঁদের জন্য আপনি এই প্রশ্নেরটির ফলাফলগুলি নিম্নরূপ আউটপুট দিতে চাইবেন:
foreach (var fileGroup in query)
{
Console.WriteLine(String.Format("*** Files with extension: {0}", group.Key));
foreach (string file in fileGroup)
{
Console.WriteLine(file);
}
}
আরও জটিল উদাহরণ সহ, পার্থক্যগুলি সাধারণত আরও বেশি বিস্তৃত হয় (উদাহরণস্বরূপ, একাধিক ক্ষেত্র দ্বারা কেবল গ্রুপিংয়ের বিষয়টি বিবেচনা করুন)। সুতরাং, সংক্ষেপে বলতে গেলে, লিনিকিউ অনেকগুলি "ডে টু ডেইন" ডেটা কোয়েরি সমস্যাগুলি এমনভাবে সমাধান করে যা প্রায়শই খাটো এবং আরও স্ব-বর্ণনামূলক হয়। এটি সিনট্যাক্স এবং প্রযুক্তি শেখার জন্য একটি হালকা ব্যয় করে আসে, তবে সুবিধাগুলি নেতিবাচকতার চেয়ে বেশি।