প্রোগ্রামিং সি শার্প বাংলা টিউটোরিয়াল পর্ব ০৮ – সি শার্প টাইপ কনভার্সন

একটা নির্দিষ্ট টাইপের ডাটা থেকে অন্য আরেকটি টাইপের ডাটায় পরিবর্তন করার পদ্ধতিকে সি শার্পে টাইপ কনভার্সন বলা হয় । একে টাইপ কাস্টিং ও বলা হয় ।  সি শার্পে দুই ধরনের টাইপ কনভার্সন রয়েছে । এগুলো হোল

১. ইমপ্লিসিট টাইপ কনভার্সন

২. এক্সপ্লিসিট টাইপ কনভার্সন

প্রোগ্রামিং সি শার্প বাংলা টিউটোরিয়াল পর্ব ০৮ – সি শার্প টাইপ কনভার্সন

১. ইমপ্লিসিট টাইপ কনভার্সনঃ ইমপ্লিসিট কনভার্সন কম্পাইলার দ্বারা স্বয়ংক্রিয়ভাবে ঘটে এবং এখানে কোন ডাটা নষ্ট হয় না । ছোট টাইপের ডাটাকে বড় টাইপের ডাটায় কনভার্সন এবং ডিরাইভড ক্লাসকে বেস ক্লাসে কনভার্সন করা পদ্ধতিকেও ইমপ্লিসিট কনভার্সন বলা হয় । যেমনঃ

int number1 = 50000;

int number2 = 100;

double sum;

sum = number1 + number2; //ইমপ্লিসিট টাইপ কনভার্সন

//…………………………………………………………………..

private class Base

        {

            public int number1 { get; set; }

        }

        private class Derived : Base

        {

            public int number2 { get; set; }

        }

        private static void Main(string[] args)

        {

            Derived d = new Derived();

            Base b = d; //ইমপ্লিসিট টাইপ কনভার্সন

        }

২. এক্সপ্লিসিট টাইপ কনভার্সনঃ এক্সপ্লিসিট কনভার্সন কম্পাইলার দ্বারা স্বয়ংক্রিয়ভাবে ঘটেনা । এই ধরনে কনভার্সনের জন্য কাস্ট অপারেটর ব্যবহার করে কম্পাইলারকে একটি নির্দিষ্ট টাইপে কনভার্সনের জন্য নির্দেশনা পাঠানো হয় এবং এই নির্দেশনা অনুসারে কম্পাইলার কনভার্সন করে । বড় টাইপের ডাটাকে ছোট টাইপের ডাটায় কনভার্সন এবং বেস ক্লাসকে ডিরাইভড ক্লাসে কনভার্সন করা পদ্ধতিকেও এক্সপ্লিসিট কনভার্সন বলা হয় । আমরা যখন একটা টাইপকে অন্য আরেকটি টাইপ এ কাস্টইং করি তখন কনভার্সনের জন্য কম্পাইলারকে ফোর্স বা জোর করা হয় । কাস্ট করে কনভার্সন করলে সব সময় সঠিক ফলাফল পাওয়া যায়না । যখন বড় টাইপের ডাটাকে ছোট টাইপের ডাটায় কনভার্সন করা হয় তখন কিছু পরিমান ডাটা নষ্ট হয় । এজন্য এভাবে সম্ভাব্য ফলাফল পাওয়া যায় ।

Base b = new Base();

Derived d = (Derived)b; //এক্সপ্লিসিট কনভার্সন

//………………………………………………………..

int number1 = 65;

char alphabet;

alphabet = (char)number1;//এক্সপ্লিসিট কনভার্সন

double number2 = 650.550;

int number3;

number3 = (int)number2;//এক্সপ্লিসিট কনভার্সন

প্রোগ্রামটি কম্পাইল হয়ে রান হওয়ার পর number3 এর মান 650 পাওয়া যাবে । এখানে ডাটা নষ্ট হচ্ছে ।

সি শার্প টাইপ কনভার্সন মেথডঃ 

কনভার্সনের জন্য সি শার্পে কিছু বিল্ট ইন টাইপ কনভার্সন মেথড রয়েছেঃ

সিরিয়াল নং
মেথড এবং বর্ণনা
১.
ToBoolean
প্রয়োজন অনুসারে কোন টাইপকে বুলিয়ান ভেলুতে কনভার্ট করার জন্য ব্যবহার করা হয়
২.
ToByte
প্রয়োজন অনুসারে কোন টাইপকে বাইটে কনভার্ট করার জন্য ব্যবহার করা হয়
৩.
ToChar
প্রয়োজন অনুসারে কোন টাইপকে একটি ইউনিকোড অক্ষরে কনভার্ট করার জন্য ব্যবহার করা হয়
৪.
ToDateTime
প্রয়োজন অনুসারে কোন ইন্টিজারে বা স্ট্রিং টাইপকে তারিখ ও সময়ে কনভার্ট করার জন্য ব্যবহার করা হয়
৫.
ToDecimal
প্রয়োজন অনুসারে কোন ফ্লোটিং পয়েন্ট বা ইন্টিজার  টাইপকে ডেসিমেল টাইপে কনভার্ট করার জন্য ব্যবহার করা হয়
৬.
ToDouble
প্রয়োজন অনুসারে কোন টাইপকে ডাবল টাইপে কনভার্ট করার জন্য ব্যবহার করা হয়
৭.
ToInt16
প্রয়োজন অনুসারে কোন টাইপকে ১৬ বিট ইন্টিজারে কনভার্ট করার জন্য ব্যবহার করা হয়
৮.
ToInt32
প্রয়োজন অনুসারে কোন টাইপকে ৩২ বিট ইন্টিজারে কনভার্ট করার জন্য ব্যবহার করা হয়
৯.
ToInt64
প্রয়োজন অনুসারে কোন টাইপকে ৬৪ বিট ইন্টিজারে কনভার্ট করার জন্য ব্যবহার করা হয়
১০.
ToSbyte
প্রয়োজন অনুসারে কোন টাইপকে সাইনড(ধনাত্মক বা ঋণাত্মক) বাইটে কনভার্ট করার জন্য ব্যবহার করা হয়
১১.
ToSingle
প্রয়োজন অনুসারে কোন টাইপকে ছোট  ফ্লোটিং পয়েন্ট নাম্বারে কনভার্ট করার জন্য ব্যবহার করা হয়
১২.
ToString
প্রয়োজন অনুসারে কোন টাইপকে স্ট্রিং টাইপে কনভার্ট করার জন্য ব্যবহার করা হয়
১৩.
ToType
প্রয়োজন অনুসারে কোন টাইপকে উল্লিখিত বা ইউজার ডিফাইন টাইপে কনভার্ট করার জন্য ব্যবহার করা হয়
১৪.
ToUInt16
প্রয়োজন অনুসারে কোন টাইপকে আনসাইনড ইন্টিজার টাইপে কনভার্ট করার জন্য ব্যবহার করা হয়
১৫.
ToUInt32
প্রয়োজন অনুসারে কোন টাইপকে আনসাইনড লং টাইপে কনভার্ট করার জন্য ব্যবহার করা হয়
১৬.
ToUInt64
প্রয়োজন অনুসারে কোন টাইপকে বড় আনসাইনড ইন্টিজার টাইপে কনভার্ট করার জন্য ব্যবহার করা হয়

Leave a Reply