در برنامهنویسی سی شارپ، گاهی اوقات با انواع دادههای مختلف سروکار داریم و ممکن است نیاز به تبدیل یک نوع داده به نوع دیگری داشته باشیم. در چنین مواقعی، باید از روشهای مناسب برای تبدیل نوع داده استفاده کنیم تا از بروز خطاهای احتمالی جلوگیری شود.
تبدیل ضمنی و صریح
سی شارپ از دو نوع تبدیل پشتیبانی میکند: تبدیل ضمنی و تبدیل صریح. تبدیل ضمنی هنگامی رخ میدهد که یک نوع داده کوچکتر به نوع داده بزرگتر تبدیل شود، بدون نیاز به کد خاص. برای مثال، تبدیل یک int به یک double به طور خودکار انجام میشود.
int myInt = 10;
double myDouble = myInt; // Implicit casting
Console.WriteLine(myDouble);
در مقابل، تبدیل صریح زمانی لازم است که یک نوع داده بزرگتر به نوع داده کوچکتر تبدیل شود و ممکن است بخشی از دادهها از بین برود. در این موارد، برنامهنویس باید به صراحت تبدیل نوع را مشخص کند.
double myDouble = 9.78;
int myInt = (int)myDouble; // Explicit casting
Console.WriteLine(myInt);
استفاده از کلاس Convert
کلاس Convert در سی شارپ برای تبدیل انواع دادهها بسیار مفید است. این کلاس متدهای مختلفی ToInt32, ToDouble, ToBoolean, و غیره را ارائه میدهد.
int iNumber = 34987;
double dNumber = Convert.ToDouble(iNumber);
Console.WriteLine("Number = {0}\n", iNumber);
Console.WriteLine("Number = {0}\n", dNumber);
تبدیل دادهها با استفاده از متدهای Parse
در سی شارپ ، میتوان از متدهای Parse برای تبدیل رشتهها یا سایر انواع دادهها به انواع دیگر استفاده کرد.
string strNumber = "123";
int parsedNumber = int.Parse(strNumber);
Console.WriteLine(parsedNumber);
مثال کاربردی برای ورودی کاربر
برای مثال، اگر میخواهید سن یک کاربر را از ورودی کنسول بگیرید و آن را به عنوان یک عدد صحیح استفاده کنید، باید آن را تبدیل کنید:
Console.Write("Enter your age: ");
string input = Console.ReadLine();
int age = Convert.ToInt32(input);
Console.WriteLine("Your age is: " + age);
با استفاده از این روشها، میتوانید انواع دادهها را به طور امن و بدون خطا در برنامههای سی شارپ خود تبدیل کنید.