C# রেফারেন্স টাইপের সাথে মান টাইপ লিঙ্ক করার দুটি পদ্ধতি প্রদান করে এবং এর বিপরীতে। লিঙ্ক করার জন্য এই দুটি পদ্ধতির নাম দেওয়া হয়েছে বক্সিং এবং আনবক্সিং যেখানে বক্সিং মান টাইপকে অবজেক্ট টাইপে রূপান্তরের জন্য ব্যবহার করা হয় যখন আনবক্সিং বলতে বোঝায় বস্তুর ধরনকে মানের টাইপে রূপান্তর করা।
নিচে বক্সিং এবং আনবক্সিং এর মধ্যে গুরুত্বপূর্ণ পার্থক্য রয়েছে।
| Sr. না। | কী | বক্সিং | আনবক্সিং |
|---|---|---|---|
| 1 | বাস্তবায়ন | বক্সিং মেড অবজেক্ট টাইপকে ভ্যালু টাইপ বলা হয়। | আনবক্সিং মূলত বক্সযুক্ত বস্তু থেকে পুনরুদ্ধার মান প্রক্রিয়া করে। |
| 2 | সঞ্চয়স্থান | বক্সিংয়ের ক্ষেত্রে, স্ট্যাকে সংরক্ষিত মানটি হিপ মেমরিতে সংরক্ষিত বস্তুতে অনুলিপি করা হয়। | অন্যদিকে আনবক্স করার ক্ষেত্রে হিপ মেমরিতে সংরক্ষিত বস্তুর মান স্ট্যাকে সংরক্ষিত মান প্রকারে কপি করা হয়। |
| 3 | রূপান্তরের ধরন | বক্সিং সাধারণভাবে অন্তর্নিহিত রূপান্তর হিসাবে পরিচিত। | আনবক্সিং স্পষ্ট রূপান্তরকে বোঝায়। |
বক্সিং বনাম আনবক্সিংয়ের উদাহরণ
JavaTester.java
public class JavaTester {
public static void main(String[] args){
int val = 119;
// Boxing
Object o = val;
// Change the value of val
val = 120;
//unboxing
int x = (int)o;
System.out.println("Value of x is {0}"+ x);
System.out.println("Value type of val is {0}"+val);
System.out.println("Object type of val is {0}"+o);
}
} আউটপুট
Value of x is {0}119
Value type of val is {0}120
Object type of val is {0}119