تبدیل انواع (C++ / C Sharp)
برای تبدیل انواع مدیریت شده در محیط دات نت سه روش کلی موجود است که در زیر به آنها اشاره می کنیم.
روش اول : استفاده از تابع Convert :
تابع از پیش نوشته یشده ی Convert بسیاری از انوع موجود را به یکدیگر تبدیل می کند. نحو این تابع به صورت زیر است (عملگر دات ‘.’ در زبان سی شارپ معادل عملگر دبل کالن ‘::’ در زبان سی پلاس پلاس است) :
NewVariable = Convert.To”NewType” (OldVariable);
برای مثال برای تبدیل یک متغیر int به نوع String به صورت زیر عمل می کنیم.
int A;
String^ Str = Convert::ToString (A);
روش دوم : استفاده از تابع Parse یا TryParse :
تابع Parse یک رشته (String) را به انواع عددی تبدیل می کند. نحو کلی این تابع به صورت زیر است :
NewVariable = NewType::Parse (OldVariable);
برای مثال برای تبدیل String به نوع int به صورت زیر عمل می کنیم.
String^ str = “105”;
int A = Int32::Parse (str);
تابع Parse در صورت امکان عمل تبدیل را انجام می دهد ولش اگر ورودی صحیحی با آن داده نشود خطای زمان اجرا پیش می آید و برنامه از کار می افتد. بهتر است برای چک کردن ورودی و موفقیت آمیز بودن عمل تبدیل از تابع TryParse استفاده کنیم که خود در صورت وجود ورودی نامناسب ما را از آن آگاه سازد و خطای زمان اجرا پیش نیاید. تابع TryParse در صورت موفقیت آمیز بودن عمل تبدیل مقدار 1 و در غیر این صورت مقدار 0 را برمی گرداند.
حالت کلی تابع TryParse به صورت زیر است :
NewType::TryParse (OldVariable , NewVariable);
برای مثال برای تبدیل یک String به Double به صورت زیر عمل می کنیم:
String Str = “10.512”;
Double D = 0;
Double::TryParse (Str , D);
روش سوم : تبدیل آگاهانه انواع
کامپایلر شما را در شرایطی قرار نمیدهد که اطلاعات شما در معرض از دست رفتن قرار گیرند. هنگامی که در تبدیل انواع، اطلاعات در معرض خطر باشند کامپایلر بسته به شرایط و زبان برنامه نویسی یا از شما خطا می گیرد یا به شما در مورد آن اخطار می دهد. برای مثال تبدیل یک نوع int به نوع byte ممکن است باعث از دست رفتن اطلاعات شود؛ چون نوع byte ظرفیت کمتری از نوع int دارد. در این مواقع اگر خودتان آگاهانه میخواهید که این تبدیل را انجام دهید، میتوانید با استفاده از روش زیر این کار را انجام دهید تا کامپایلر بداند که خودتان نسبت به این موضوع آگاه هستید. حالت کلی این روش به صورت زیر است :
NewVariable = (NewType) OldVarable;
برای مثال برای تبدیل نوع int به نوع byte به صورت زیر عمل می کنیم.
int A = 245;
byte B = (byte) A;






GENERAL INFORMATION