উদাহরণ সহ C# এ রেকর্ড প্রকারের ভূমিকা

Udaharana Saha C E Rekarda Prakarera Bhumika



রেকর্ডের ধরন হল C# 9-এ প্রবর্তিত একটি নতুন বৈশিষ্ট্য যা প্রাথমিকভাবে ডেটা সঞ্চয় করতে ব্যবহৃত ক্লাস তৈরির জন্য একটি সরলীকৃত সিনট্যাক্স প্রদান করে। একটি রেকর্ড টাইপ হল এমন একটি শ্রেণী যা ডেটা ধারণ করার জন্য বৈশিষ্ট্যগুলির একটি সেটকে সংজ্ঞায়িত করে, তবে অন্যান্য বৈশিষ্ট্য যেমন সমতা তুলনা, হ্যাশিং এবং আরও অনেক কিছু অন্তর্ভুক্ত করে। এই নিবন্ধটি C#-এ রেকর্ড প্রকারের ধারণাটি চালু করবে এবং তাদের সুবিধা এবং সীমাবদ্ধতাগুলি অন্বেষণ করবে।

রেকর্ড টাইপ প্রয়োজন কি

রেকর্ডের প্রকারগুলি ব্যবহার করার প্রাথমিক সুবিধাগুলির মধ্যে একটি হল যে তারা কেবলমাত্র ডেটা ধারণ করে এমন ক্লাসগুলিকে সংজ্ঞায়িত করার জন্য আরও সংক্ষিপ্ত বাক্য গঠন প্রদান করে। এটি কোডটিকে পড়তে এবং বোঝা সহজ করে তোলে, পাশাপাশি কোডের পরিমাণও কমিয়ে দেয় যা লিখতে হবে। অতিরিক্তভাবে, রেকর্ডের ধরনগুলি ডিফল্টরূপে অপরিবর্তনীয় হওয়ার জন্য ডিজাইন করা হয়েছে, যা পরিবর্তনযোগ্য অবস্থার কারণে সৃষ্ট বাগগুলি প্রতিরোধ করতে সহায়তা করে।

রেকর্ডের ধরনগুলি ব্যবহার করার আরেকটি সুবিধা হল যে তারা সমতা তুলনা, হ্যাশ কোড এবং স্ট্রিং উপস্থাপনাগুলির জন্য অন্তর্নির্মিত সমর্থন সহ আসে।







C# এ রেকর্ড প্রকারের পরিচিতি

C# এ রেকর্ডের প্রকারগুলি ছোট, অপরিবর্তনীয় ডেটা স্ট্রাকচারের জন্য প্রকারগুলি সংজ্ঞায়িত করার একটি সংক্ষিপ্ত উপায় প্রদান করে। আপনি যখন একটি নতুন রেকর্ড তৈরি করেন, আপনি কনস্ট্রাক্টরের বৈশিষ্ট্যগুলির জন্য মানগুলি পাস করতে পারেন এবং তারপর সম্পত্তি সিনট্যাক্স ব্যবহার করে সেই মানগুলি অ্যাক্সেস করতে পারেন। এগুলি এমন বস্তুর সৃষ্টি এবং ব্যবহার সহজ করতে ব্যবহৃত হয় যেগুলির একটি সুনির্দিষ্ট কাঠামো রয়েছে এবং সৃষ্টির পরে পরিবর্তন করার প্রয়োজন নেই।



পাবলিক রেকর্ড < রেকর্ডের নাম > ( < প্যারামিটারলিস্ট > ) ;

পাবলিক কীওয়ার্ড প্রোগ্রামের অন্যান্য ক্লাসে রেকর্ডের ধরনকে অ্যাক্সেসযোগ্য করে তোলে। রেকর্ড কীওয়ার্ড বস্তুর ধরন সংজ্ঞায়িত করে, তারপরে রেকর্ড প্রকারের নাম। প্যারামিটারলিস্ট রেকর্ড টাইপের বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে। এখানে একটি উদাহরণ যা করা হয়েছে যেখানে আমি কোম্পানির বিবরণ যেমন নাম, বিভাগ এবং বিভাগ সংরক্ষণ করেছি, নীচে এটির কোড রয়েছে:



সিস্টেম ব্যবহার করে;

// তিনটি স্ট্রিং বৈশিষ্ট্য সহ CompanyDetails নামে একটি রেকর্ড সংজ্ঞায়িত করুন: নাম, বিভাগ এবং বিভাগ
কোম্পানির বিবরণ রেকর্ড করুন ( স্ট্রিং নাম, স্ট্রিং বিভাগ, স্ট্রিং বিভাগ ) ;

ক্লাস প্রোগ্রাম
{
স্ট্যাটিক শূন্যতা প্রধান ( স্ট্রিং [ ] args )
{
// কোম্পানির বিবরণ রেকর্ডের একটি নতুন উদাহরণ তৈরি করুন এবং পাস করুন ভিতরে সম্পত্তি মান
কোম্পানির বিবরণ কোম্পানি = নতুন কোম্পানির বিবরণ ( 'লিনাক্স ইঙ্গিত' , 'কন্টেন্ট রাইটিং' , 'লিনাক্স' ) ;

// কোম্পানির নাম, বিভাগ এবং বিভাগ প্রিন্ট করুন
Console.WriteLine ( $ 'কোম্পানির নাম: {company.Name}' ) ;
Console.WriteLine ( $ 'বিভাগ: {company.Department}' ) ;
Console.WriteLine ( $ 'বিভাগ: {company.Category}' ) ;
}
}

এই প্রোগ্রামে, আমরা CompanyDetails নামে একটি রেকর্ড তৈরি করি যার তিনটি বৈশিষ্ট্য রয়েছে: নাম, বিভাগ এবং বিভাগ, যার প্রতিটি একটি স্ট্রিং। আমরা তারপর কোম্পানির বিবরণের একটি নতুন উদাহরণ তৈরি করি যার নাম কোম্পানি, এবং প্রতিটি বৈশিষ্ট্যের জন্য মান পাস করি। Console.WriteLine স্টেটমেন্টগুলি তারপর কোম্পানির অবজেক্টের নাম, বিভাগ এবং শ্রেণী বৈশিষ্ট্যের মানগুলি আউটপুট করে, এখানে কোডের আউটপুট রয়েছে:





আপনি C# এ একাধিক রেকর্ডের ধরনও সংজ্ঞায়িত করতে পারেন এবং প্রতিটি রেকর্ডের নিজস্ব বৈশিষ্ট্যের নিজস্ব সেট থাকতে পারে। উদাহরণস্বরূপ, আপনি কর্মচারীর জন্য একটি রেকর্ডের ধরণ এবং কোম্পানির বিশদ বিবরণের জন্য অন্যটি সংজ্ঞায়িত করতে পারেন এবং এখানে তার জন্য কোড রয়েছে:



সিস্টেম ব্যবহার করে;

// একটি কোম্পানির বিবরণ সংরক্ষণ করার জন্য একটি রেকর্ড সংজ্ঞায়িত করা
কোম্পানির বিবরণ রেকর্ড করুন ( স্ট্রিং নাম, স্ট্রিং বিভাগ, স্ট্রিং বিভাগ ) ;

// একজন কর্মচারীর বিবরণ সংরক্ষণ করার জন্য একটি রেকর্ড সংজ্ঞায়িত করা
কর্মচারীর বিবরণ রেকর্ড করুন ( স্ট্রিং নাম, int EmployeeID, int বয়স ) ;

ক্লাস প্রোগ্রাম
{
স্ট্যাটিক শূন্যতা প্রধান ( স্ট্রিং [ ] args )
{
// কোম্পানির বিবরণ রেকর্ডের একটি উদাহরণ তৈরি করা এবং এর মানগুলি শুরু করা
var কোম্পানির বিবরণ = নতুন কোম্পানির বিবরণ ( 'লিনাক্স ইঙ্গিত' , 'কন্টেন্ট রাইটিং' , 'লিনাক্স' ) ;

// স্ট্রিং ইন্টারপোলেশন ব্যবহার করে কোম্পানির বিবরণ রেকর্ডের মান মুদ্রণ করা
Console.WriteLine ( $ 'কোম্পানির নাম: {companyDetails.Name}' ) ;
Console.WriteLine ( $ 'বিভাগ: {companyDetails.Department}' ) ;
Console.WriteLine ( $ 'বিভাগ: {companyDetails.Category}' ) ;

// Employee Details রেকর্ডের একটি উদাহরণ তৈরি করা এবং এর মানগুলি শুরু করা
var কর্মচারীর বিবরণ = নতুন কর্মচারীর বিবরণ ( 'মার্ক' , 7834 , 25 ) ;

// স্ট্রিং ইন্টারপোলেশন ব্যবহার করে Employee Details রেকর্ডের মান প্রিন্ট করা
Console.WriteLine ( $ 'কর্মচারীর নাম: {employeeDetails.Name}' ) ;
Console.WriteLine ( $ 'কর্মচারী আইডি: {employeeDetails.EmployeeID}' ) ;
Console.WriteLine ( $ 'কর্মচারীর বয়স: {employeeDetails.Age}' ) ;
}
}

প্রথমত, আমরা তিনটি বৈশিষ্ট্য সহ একটি রেকর্ড প্রকার CompanyDetails সংজ্ঞায়িত করি: কোম্পানির নাম, বিভাগ এবং বিভাগ। তারপর আমরা কোম্পানির বিবরণ রেকর্ডের একটি নতুন উদাহরণ তৈরি করি এবং 'লিনাক্স ইঙ্গিত', 'কন্টেন্ট রাইটিং' এবং 'লিনাক্স' মান দিয়ে এর বৈশিষ্ট্যগুলি শুরু করি।

এর পরে, আমরা তিনটি বৈশিষ্ট্য সহ অন্য একটি রেকর্ড টাইপ Employee Details সংজ্ঞায়িত করি: নাম, EmployeeID এবং বয়স। তারপরে আমরা Employee Details রেকর্ডের একটি নতুন উদাহরণ তৈরি করি এবং 'মার্ক', 7834, এবং 25 মান দিয়ে এর বৈশিষ্ট্যগুলি শুরু করি। অবশেষে, আমরা এখানে কোম্পানির বিবরণ এবং কর্মচারীর বিবরণ রেকর্ড উভয়ের বৈশিষ্ট্যের মান আউটপুট করতে Console.WriteLine স্টেটমেন্ট ব্যবহার করি কোডের আউটপুট হল:

উপসংহার

রেকর্ডের ধরনগুলি হল একটি নতুন বৈশিষ্ট্য যা C# 9-এ চালু করা হয়েছিল যা ডেটা সঞ্চয় করে এমন ক্লাস তৈরি করার জন্য একটি সরলীকৃত সিনট্যাক্স প্রদান করে। তারা একটি সংক্ষিপ্ত সিনট্যাক্স, স্বয়ংক্রিয় সমতা তুলনা, হ্যাশিং, মুদ্রণ এবং অপরিবর্তনীয় বস্তুর সহজ নির্মাণ সহ বেশ কয়েকটি সুবিধা প্রদান করে।

যাইহোক, তাদের কিছু সীমাবদ্ধতাও রয়েছে, যেমন অন্যান্য শ্রেণী থেকে উত্তরাধিকার সূত্রে পাওয়া অক্ষমতা এবং জটিল যুক্তির জন্য সীমিত কার্যকারিতা। সামগ্রিকভাবে, রেকর্ডের ধরনগুলি C# বিকাশকারীদের জন্য একটি দরকারী টুল এবং তাদের কোডের পঠনযোগ্যতা এবং রক্ষণাবেক্ষণযোগ্যতা উন্নত করতে পারে।