বাক্য গঠন:
আসুন C# ToDictionary ফাংশনের নিম্নলিখিত সিনট্যাক্সের মধ্যে দেওয়া প্রতিটি উপাদান একে একে ভেঙ্গে ফেলি এবং বুঝতে পারি:
dict ছিল = সংগ্রহ অভিধান ( কী নির্বাচক , উপাদান নির্বাচক ) ;
- ফলস্বরূপ 'ডিক্ট' অভিধানের প্রকার বিভাগ নির্ধারণ করতে এখানে 'var' কীওয়ার্ডটি বন্ধ করা হয়েছে। বেশিরভাগ ক্ষেত্রে, এটি অভিধান
যেখানে K হল কী-এর ধরন এবং V হল অভিধান মানের টাইপ বিভাগ। - 'সংগ্রহ' উপাদানটি উৎস সংগ্রহের প্রতিনিধিত্ব করে যা আপনি একটি 'ডিক্ট' অভিধানে রূপান্তর করতে চান। এটি যে কোনো শ্রেণী হতে পারে যা IEnumerable
ইন্টারফেস যেমন একটি তালিকা, অ্যারে বা কোয়েরি ফলাফল প্রয়োগ করে। - 'কী নির্বাচক' কীওয়ার্ড হল একটি প্রতিনিধি বা ল্যাম্বডা এক্সপ্রেশন যা নির্দিষ্ট করে যে কীভাবে সংগ্রহের প্রতিটি আইটেম থেকে কী বের করতে হয়। এটি একটি যুক্তি হিসাবে সংগ্রহ থেকে একটি উপাদান পায় এবং সেই আইটেমের জন্য মূল মান ফিরিয়ে দেয়। সংগ্রহের প্রতিটি আইটেমের জন্য কীটি অনন্য হওয়া উচিত, কারণ অভিধানে ডুপ্লিকেট কী থাকতে পারে না।
- 'এলিমেন্ট সিলেক্টর' কীওয়ার্ডটি একটি প্রতিনিধি বা ল্যাম্বডা এক্সপ্রেশনকে নির্দেশ করে যেটি নির্দিষ্ট করে কিভাবে সংগ্রহের প্রতিটি আইটেম থেকে মান বের করতে হয়। এটি একটি যুক্তি হিসাবে সংগ্রহের একটি উপাদান পায় এবং সেই আইটেমের জন্য মান দেয়।
ToDictionary ফাংশনটি কার্যকর করার পরে, আপনার কাছে একটি নতুন অভিধান অবজেক্ট থাকবে যেখানে সংগ্রহের প্রতিটি আইটেম একটি কী-মান জোড়া হিসাবে উপস্থাপন করা হয়।
উদাহরণ 1:
আসুন একটি কোড উদাহরণের সাহায্যে C#-এ ToDictionary ফাংশনের ব্যবহার প্রদর্শন করে এই গাইডটিতে নতুন করে শুরু করি। ধাপে ধাপে এর মধ্য দিয়ে যাওয়া যাক।
কোডটি আমদানি করা প্রয়োজনীয় নামস্থান দিয়ে শুরু হয়: System, System.Collections.Generic, এবং System.Linq. এই নেমস্পেসগুলি সংগ্রহ এবং LINQ এর সাথে কাজ করার জন্য প্রয়োজনীয় ক্লাস এবং এক্সটেনশন পদ্ধতি প্রদান করে। 'ডামি' শ্রেণীটি সংজ্ঞায়িত করা হয়েছে যা এই C# প্রোগ্রামের 'প্রধান' পদ্ধতি ধারণ করে।
'প্রধান' পদ্ধতির ভিতরে, 'L' নামের একটি তালিকা তৈরি করা হয়েছে। এই তালিকায় তিনটি স্ট্রিং উপাদান রয়েছে যা ব্যবহারকারীর পছন্দের বিভিন্ন পারফিউমের নাম উপস্থাপন করে। ToDictionary পদ্ধতিটিকে 'L' তালিকায় বলা হয়। এটি তালিকাটিকে একটি অভিধানে রূপান্তরিত করে। তালিকার প্রতিটি স্ট্রিং উপাদান ফলাফল অভিধানে কী এবং মান উভয় হিসাবে কাজ করে।
অভিধানটি StringComparer.OrdinalIgnoreCase প্যারামিটার ব্যবহার করে একটি কেস-সংবেদনশীল কী তুলনা দিয়ে তৈরি করা হয়েছে যা প্রাথমিকভাবে কীগুলির অস্তিত্ব পরীক্ষা করার সময় একটি কেস-সংবেদনশীল তুলনা নির্দিষ্ট করতে ব্যবহৃত হয়। একটি 'if' বিবৃতি চেক করে যে অভিধানে 'bombshell' কী আছে কিনা তা উপেক্ষা করে। যদি কী পাওয়া যায়, তাহলে 'if' বিভাগের মধ্যে কোড স্নিপেট প্রক্রিয়া করা হবে। “if” ব্লকের ভিতরে, Console.WriteLine(“Bombshell exists”) স্টেটমেন্টটি এক্সিকিউট করা হয় যা কনসোলে “Bombshell exists” মেসেজ প্রিন্ট করে।
সিস্টেম ব্যবহার করে ;সিস্টেম ব্যবহার করে। সংগ্রহ . জেনেরিক ;
সিস্টেম ব্যবহার করে। লিংক ;
ক্লাস ডামি
{
স্থির অকার্যকর প্রধান ( )
{
তালিকা < স্ট্রিং > এল = নতুন তালিকা < স্ট্রিং > ( ) { 'ব্ল্যাকঅপিয়াম' , 'আকস্মিক বিস্ময়' , 'গুচিফ্লোরা' } ;
সুগন্ধি ছিল = এল. অভিধান ( এক্স => এক্স , এক্স => সত্য , স্ট্রিংকম্পার OrdinalIgnoreCase ) ;
যদি ( পারফিউম। ContainsKey ( 'আকস্মিক বিস্ময়' ) )
{
কনসোল লেখার লাইন ( 'বোমা আছে' ) ;
}
}
}
যেহেতু অভিধানটি একটি কেস-অসংবেদনশীল তুলনা দিয়ে তৈরি করা হয়েছে, তাই 'বোমশেল' কীটি অভিধানের প্রকৃত 'বোমশেল' কীটির সাথে মিলে যায়। ফলস্বরূপ, 'বোম্বশেল বিদ্যমান' বার্তাটি কনসোলে প্রিন্ট করা হয়েছে যেমনটি নিম্নলিখিত সংযুক্ত আউটপুট ছবিতে প্রদর্শিত হয়েছে:
উদাহরণ 2:
পূর্ববর্তী কোড উদাহরণের মধ্যে, আমরা প্রদর্শন করেছি কিভাবে ToDictionary ফাংশনের মাধ্যমে একটি সাধারণ সংগ্রহকে একটি অভিধানে রূপান্তর করা যায়। এখন, আমরা C# ToDictionary ফাংশন ব্যবহার প্রদর্শনের জন্য C# এর একটি সামান্য উন্নত কোড উদাহরণের দিকে এগিয়ে যাব। আসুন লাইন দ্বারা কোড লাইন ভাঙ্গুন.
এই ইলাস্ট্রেশন কোড স্নিপেট একই বাধ্যতামূলক নেমস্পেসগুলি এনে শুরু করে: System, System.Collections.Generic, এবং System.Linq. এই নেমস্পেসগুলি এই কোড উদাহরণের জন্য সংগ্রহ এবং LINQ এর সাথে কাজ করার জন্য প্রয়োজনীয় ক্লাস এবং এক্সটেনশন পদ্ধতি প্রদান করে। 'ডামি' শ্রেণীটি সংজ্ঞায়িত করা হয়েছে যা একটি এন্ট্রি পয়েন্ট।
C# ভাষার 'Main' পদ্ধতির ভিতরে, 'L' নামের একটি তালিকা তৈরি করা হয়। এই তালিকায় 'ডেটা' শ্রেণীর তিনটি বস্তু রয়েছে যা বিভিন্ন প্রসাধনী পণ্যকে তাদের দাম এবং ব্র্যান্ডের সাথে উপস্থাপন করে। প্রতিটি ডেটা অবজেক্ট অবজেক্ট ইনিশিয়ালাইজার সিনট্যাক্স ব্যবহার করে আরম্ভ করা হয়। প্রতিটি বস্তুর 'মূল্য' এবং 'ব্র্যান্ড' বৈশিষ্ট্য নির্দিষ্ট মান সহ সেট করা হয়।
এখানে ToDictionary পদ্ধতি আসে। এটি এখানে 'L' তালিকায় বলা হয়েছে। এটি তালিকাটিকে একটি অভিধানে রূপান্তর করে যেখানে 'মূল্য' বৈশিষ্ট্যটি কী হিসাবে ব্যবহৃত হয় এবং 'ব্র্যান্ড' বৈশিষ্ট্যটি মান হিসাবে ব্যবহৃত হয়। নিম্নলিখিত প্রদত্ত কোড স্নিপেটে উল্লিখিত হিসাবে ফলাফল অভিধানটি 'Dic' ভেরিয়েবলের জন্য বরাদ্দ করা হয়েছে। একটি 'foreach' লুপ 'Dic' অভিধানে কী-মান জোড়া কল করার জন্য কাস্ট-অফ করা হয়।
লুপের ভিতরে, KeyValuePair
এখানে, 'ডেটা' শ্রেণীটিকে দুটি বৈশিষ্ট্য দিয়ে সংজ্ঞায়িত করা হয়েছে: 'মূল্য' (একটি পূর্ণসংখ্যা যা একটি প্রসাধনী পণ্যের মূল্যকে প্রতিনিধিত্ব করে) এবং 'ব্র্যান্ড' (একটি স্ট্রিং যা একটি পণ্যের ব্র্যান্ড নাম প্রতিনিধিত্ব করে)।
সিস্টেম ব্যবহার করে ;সিস্টেম ব্যবহার করে। সংগ্রহ . জেনেরিক ;
সিস্টেম ব্যবহার করে। লিংক ;
ক্লাস ডামি
{
স্থির অকার্যকর প্রধান ( )
{
তালিকা < ডেটা > এল = নতুন তালিকা < ডেটা > ( )
{
নতুন ডেটা { দাম = 13000 , ব্র্যান্ড = 'হুদা বিউটি' } ,
নতুন ডেটা { দাম = 15000 , ব্র্যান্ড = 'শার্লট টেলবারি' } ,
নতুন ডেটা { দাম = 11000 , ব্র্যান্ড = 'নারস' }
} ;
অভিধান < int , স্ট্রিং > ডিসেম্বর = এল. অভিধান ( পি => পি. দাম , পি => পি. ব্র্যান্ড ) ;
প্রতিটির জন্য ( var v Dic তে )
{
কনসোল লেখার লাইন ( $ 'মূল্য: {v.Key}, ব্র্যান্ড: {v.Value}' ) ;
}
}
}
ক্লাস ডেটা
{
পাবলিক int দাম { পাওয়া ; সেট ; }
পাবলিক স্ট্রিং ব্র্যান্ড { পাওয়া ; সেট ; }
}
কোডটি কার্যকর করা হলে, এটি ডেটা অবজেক্টের একটি তালিকা তৈরি করে, ToDictionary পদ্ধতি ব্যবহার করে তালিকাটিকে একটি অভিধানে রূপান্তর করে এবং তারপর 'foreach' লুপ ব্যবহার করে অভিধানের কী-মান জোড়া প্রদর্শন করে।
এই কোড উদাহরণের জন্য আউটপুট নিম্নলিখিত প্রদান করা হয়. এটি নির্দিষ্ট বৈশিষ্ট্যের উপর ভিত্তি করে অভিধানে সংরক্ষিত কসমেটিক পণ্যের দাম এবং ব্র্যান্ডগুলি দেখায়, মূল-মান জোড়ায় ডেটা সংগঠিত এবং অ্যাক্সেস করার একটি সুবিধাজনক উপায় প্রদান করে। পূর্ববর্তী কোডের আউটপুট অভিধানের জন্য তিনটি রেকর্ড দেখায়:
উপসংহার
এই C# গাইডটি কিছু মৌলিক এবং সুনির্দিষ্ট কোড চিত্রের মাধ্যমে C# ToDictionary পদ্ধতির ব্যবহার প্রদর্শন করেছে। মূল-মান জোড়া বর্ণনা করার জন্য একটি স্পষ্ট এবং অভিব্যক্তিপূর্ণ প্রক্রিয়া প্রদান করে, ToDictionary পদ্ধতি একটি সংগ্রহকে অভিধানে পরিণত করা সহজ করে তোলে। ডেটা ম্যানিপুলেট এবং রূপান্তর করার জন্য এটি একটি শক্তিশালী C# ইউটিলিটি।