টাইপ কাস্টিং এবং টাইপ কনভার্শন

সি শার্প (C#) এ টাইপ কাস্টিং এবং টাইপ কনভার্শন দুটি গুরুত্বপূর্ণ প্রক্রিয়া, যা ডেটাকে একটি টাইপ থেকে অন্য টাইপে রূপান্তরিত করতে ব্যবহৃত হয়। এর মাধ্যমে ভিন্ন ভিন্ন ডেটা টাইপের মানকে একটি নির্দিষ্ট টাইপে রূপান্তর করা সহজ হয়।

টাইপ কাস্টিং (Type Casting)

টাইপ কাস্টিং হলো একটি টাইপের ডেটাকে ম্যানুয়ালি অন্য টাইপে রূপান্তর করার প্রক্রিয়া। C# এ দুটি ধরনের টাইপ কাস্টিং আছে:

  1. Implicit Casting (স্বয়ংক্রিয় কাস্টিং): ছোট থেকে বড় টাইপে রূপান্তর করা হয়, যা সিস্টেম স্বয়ংক্রিয়ভাবে করে।
  2. Explicit Casting (ম্যানুয়াল কাস্টিং): বড় থেকে ছোট টাইপে রূপান্তর করতে গেলে ম্যানুয়ালি করতে হয়।

১. ইম্প্লিসিট কাস্টিং (Implicit Casting)

ইম্প্লিসিট কাস্টিংয়ে ছোট ডেটা টাইপ (যেমন, int) থেকে বড় ডেটা টাইপে (যেমন, double) রূপান্তর করা যায়। এতে ডেটার ক্ষতি হয় না এবং প্রোগ্রামারকে কোনো অতিরিক্ত কাজ করতে হয় না।

int num = 100;
double result = num; // Implicit casting from int to double
Console.WriteLine(result); // Output: 100

২. এক্সপ্লিসিট কাস্টিং (Explicit Casting)

এক্সপ্লিসিট কাস্টিংয়ে বড় ডেটা টাইপ থেকে ছোট ডেটা টাইপে রূপান্তর করতে হয়। এক্ষেত্রে ডেটার ক্ষতি হওয়ার সম্ভাবনা থাকে, তাই প্রোগ্রামারকে ম্যানুয়ালি কাস্টিং করতে হয়।

double num = 123.45;
int result = (int)num; // Explicit casting from double to int
Console.WriteLine(result); // Output: 123 (decimal part removed)

টাইপ কনভার্শন (Type Conversion)

সি শার্পে টাইপ কনভার্শনের জন্য বিভিন্ন বিল্ট-ইন মেথড রয়েছে, যা একটি টাইপকে সহজেই অন্য টাইপে রূপান্তর করতে সাহায্য করে। কিছু গুরুত্বপূর্ণ টাইপ কনভার্শন মেথড হলো:

  1. Convert.ToInt32()
  2. Convert.ToDouble()
  3. Convert.ToString()
  4. Convert.ToBoolean()

উদাহরণ

string str = "123";
int num = Convert.ToInt32(str); // Convert string to int
Console.WriteLine(num); // Output: 123

পার্সিং (Parsing)

int.Parse(), double.Parse() ইত্যাদি মেথড ব্যবহার করে স্ট্রিংকে সংখ্যায় রূপান্তর করা যায়।

string str = "456";
int num = int.Parse(str); // Parse string to int
Console.WriteLine(num); // Output: 456

TryParse ব্যবহার করে সুরক্ষিত কনভার্শন

TryParse() মেথড ব্যবহার করে স্ট্রিংকে কনভার্ট করার সময় সুরক্ষিত উপায়ে কনভার্সন করা যায়। যদি কনভার্সন সফল না হয়, তাহলে এটি false রিটার্ন করে।

string str = "789";
int result;
bool success = int.TryParse(str, out result);
Console.WriteLine(success); // Output: True
Console.WriteLine(result);  // Output: 789

টাইপ কাস্টিং বনাম টাইপ কনভার্শন

বৈশিষ্ট্যটাইপ কাস্টিংটাইপ কনভার্শন
প্রক্রিয়াম্যানুয়ালবিল্ট-ইন মেথড ব্যবহার করে
ব্যবহারযোগ্যতাবড় থেকে ছোট বা ছোট থেকে বড়এক ডেটা টাইপ থেকে অন্য ডেটা টাইপে
ডেটা ক্ষতির সম্ভাবনাহ্যাঁনা (বেশিরভাগ ক্ষেত্রে)
উদাহরণ(int) 123.45Convert.ToInt32("123")

উদাহরণ প্রোগ্রাম

নিচে টাইপ কাস্টিং এবং টাইপ কনভার্সনের একটি প্রোগ্রাম রয়েছে:

using System;

namespace TypeCastingAndConversion
{
    class Program
    {
        static void Main(string[] args)
        {
            // Implicit Casting
            int num1 = 10;
            double num2 = num1;
            Console.WriteLine("Implicit Casting: " + num2);

            // Explicit Casting
            double num3 = 10.99;
            int num4 = (int)num3;
            Console.WriteLine("Explicit Casting: " + num4);

            // Convert Method
            string str1 = "100";
            int num5 = Convert.ToInt32(str1);
            Console.WriteLine("Convert Method: " + num5);

            // Parse Method
            string str2 = "200";
            int num6 = int.Parse(str2);
            Console.WriteLine("Parse Method: " + num6);

            // TryParse Method
            string str3 = "300";
            int num7;
            bool success = int.TryParse(str3, out num7);
            Console.WriteLine("TryParse Method: " + success + ", Value: " + num7);
        }
    }
}

আউটপুট

Implicit Casting: 10
Explicit Casting: 10
Convert Method: 100
Parse Method: 200
TryParse Method: True, Value: 300

সারসংক্ষেপ

সি শার্পে টাইপ কাস্টিং এবং টাইপ কনভার্শনের মাধ্যমে ডেটার রূপান্তর করা হয়। টাইপ কাস্টিং সাধারণত ইম্প্লিসিট বা এক্সপ্লিসিট পদ্ধতিতে করা হয়, আর টাইপ কনভার্শন বিল্ট-ইন মেথড (যেমন, Convert.ToInt32(), Parse(), TryParse()) ব্যবহার করে সম্পন্ন করা হয়। টাইপ কনভার্শন ডেটার রূপান্তরে নিরাপত্তা এবং কার্যকারিতা নিশ্চিত করে।

Content added By

আরও দেখুন...

Promotion