স্ট্রাকচার (Structure)
C#-এ একটি স্ট্রাকচার একটি ভ্যালু টাইপ (value type) ডেটা টাইপ। এটি একটি ভেরিয়েবলে বিভিন্ন ডেটা টাইপের রিলেটেড ডেটা ধারণ করতে সাহায্য করে। স্ট্রাকচার তৈরির জন্য struct কীওয়ার্ড ব্যবহৃত হয়।
একটি স্ট্রাকচার ডিফাইন করতে আপনাকে struct স্টেটমেন্ট ব্যবহার করতে হবে। struct স্টেটমেন্ট একটি নতুন ডেটা টাইপ ডিফাইন করে, যাতে আপনার প্রোগ্রামের জন্য একাধিক মেম্বার থাকে।
ক্লাস (Classes)
যখন আপনি একটি ক্লাস ডিফাইন করেন, তখন আপনি একটি ডেটা টাইপের ব্লুপ্রিন্ট (blueprint) ডিফাইন করেন। একটি ক্লাস ডেফিনিশন class কীওয়ার্ড দিয়ে শুরু হয়, তারপর ক্লাসের নাম, এবং কালি ব্রেস ({}) দিয়ে ক্লাস বডি বন্ধ থাকে।
স্ট্রাকচার বনাম ক্লাস (Structure vs Classes)
- স্ট্রাকচারগুলো ভ্যালু টাইপ (value types) এবং ক্লাসগুলো রেফারেন্স টাইপ (reference types)।
- একটি ক্লাসকে মেথডে পাস করলে এটি রেফারেন্স বাই (by reference) পাস হয়। কিন্তু একটি স্ট্রাকচার পাস করলে এটি ভ্যালু বাই (by value) পাস হয়।
- ক্লাস ইনহেরিটেন্স (Inheritance) সাপোর্ট করে কিন্তু স্ট্রাকচার সাপোর্ট করে না।
- ক্লাসে ডিস্ট্রাক্টর (Destructor) ব্যবহার করা যায় কিন্তু স্ট্রাকচারে ডিস্ট্রাক্টর ব্যবহার করা যায় না।
- স্ট্রাকচারের ডিফল্ট কনস্ট্রাক্টর (default constructor) থাকে না।