C#-এ ডেটা টাইপ মূলত তিন ধরনের: ভ্যালু টাইপ (Value Type), রেফারেন্স টাইপ (Reference Type) এবং পয়েন্টার টাইপ (Pointer Type)।
ভ্যালু টাইপ (Value Types)
ভ্যালু টাইপ ভেরিয়েবলে সরাসরি মান অ্যাসাইন করা যায়। এগুলো System.ValueType ক্লাস থেকে ডেরাইভড।
| টাইপ | প্রতিনিধিত্ব করে | রেঞ্জ | ডিফল্ট মান |
|---|---|---|---|
| bool | বুলিয়ান মান | True or False | False |
| byte | 8-বিট আনসাইনড ইন্টিজার | 0 to 255 | 0 |
| char | 16-বিট ইউনিকোড ক্যারেক্টার | U+0000 to U+FFFF | '\0' |
| decimal | 128-বিট সুনির্দিষ্ট ডেসিমেল | (-7.9 x 10²⁸ to 7.9 x 10²⁸) / 10⁰ to 28 | 0.0M |
| double | 64-বিট ডাবল-প্রেসিশন ফ্লোট | (+/-)5.0 x 10⁻³²⁴ to (+/-)1.7 x 10³⁰⁸ | 0.0D |
| float | 32-বিট সিংগল-প্রেসিশন ফ্লোট | -3.4 x 10³⁸ to +3.4 x 10³⁸ | 0.0F |
| int | 32-বিট সাইনড ইন্টিজার | -2,147,483,648 to 2,147,483,647 | 0 |
| long | 64-বিট সাইনড ইন্টিজার | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | 0L |
| sbyte | 8-বিট সাইনড ইন্টিজার | -128 to 127 | 0 |
| short | 16-বিট সাইনড ইন্টিজার | -32,768 to 32,767 | 0 |
| uint | 32-বিট আনসাইনড ইন্টিজার | 0 to 4,294,967,295 | 0 |
| ulong | 64-বিট আনসাইনড ইন্টিজার | 0 to 18,446,744,073,709,551,615 | 0 |
| ushort | 16-বিট আনসাইনড ইন্টিজার | 0 to 65,535 | 0 |
রেফারেন্স টাইপ (Reference Types)
রেফারেন্স টাইপ ভেরিয়েবলে আসল ডেটা থাকে না, বরং ডেটার রেফারেন্স (ঠিকানা) থাকে।
C#-এ প্রধান রেফারেন্স টাইপগুলো:
- Object Type: C# Common Type System (CTS)-এ সকল ডেটা টাইপের 궁극ের বেস ক্লাস।
- Dynamic Type: ডাইনামিক ডেটা টাইপের ভেরিয়েবলে যেকোনো টাইপের মান রাখা যায়। টাইপ চেকিং রান-টাইমে হয়।
- String Type: স্ট্রিং টাইপ ব্যবহার করে ভেরিয়েবলে যেকোনো স্ট্রিং মান অ্যাসাইন করা যায়। স্ট্রিং টাইপ
System.Stringক্লাসের এলিয়াস।