فهرست سرفصل‌های #C
خانه (HOME) مقدمه (Intro) شروع کار (Get Started) سینتکس (Syntax) خروجی (Output) کامنت ها (Comments) متغیرها (Variables) ثابت ها (Constants) نمایش متغیرها (Display Variables) متغیرهای متعدد (Multiple Variables) شناسه ها (Identifiers) انواع داده (Data Types) تبدیل نوع (Type Casting) ورودی کاربر (User Input) عملگرها (Operators) انتساب (Assignment) مقایسه (Comparison) منطقی (Logical) ریاضی (Math) رشته ها (Strings) اتصال رشته ها (Concatenation) درون گذاری رشته (Interpolation) دسترسی به رشته ها (Access Strings) کاراکترهای ویژه (Special Characters) بولی ها (Booleans) if (If...Else) else (If...Else) else if (If...Else) شکل کوتاه if..else (Short hand if..else) سوئیچ (Switch) حلقه while (While Loop) حلقه for (For Loop) حلقه foreach (Foreach loop) شکستن/ادامه (Break/Continue) آرایه ها (Arrays) حلقه روی آرایه (Loop through an array) مرتب سازی آرایه ها (Sort arrays) آرایه های چندبعدی (Multidimensional arrays) متدها (Methods) پارامترها (Parameters) پارامتر پیش فرض (Default Parameter) مقادیر بازگشتی (Return Values) آرگومان های نام دار (Named Arguments) بارگذاری متد (Method Overloading) شیء گرایی (OOP) کلاس ها/اشیا (Classes/Objects) چند شیء (Multiple Objects) اعضای کلاس (Class Members) سازنده ها (Constructors) قیدهای دسترسی (Access Modifiers) ویژگی ها (Properties) وراثت (Inheritance) چندریختی (Polymorphism) انتزاع (Abstraction) اینترفیس (Interface) چند اینترفیس (Multiple Interfaces) شمارش ها (Enums) فایل ها (Files) استثناها (Exceptions) افزودن دو عدد (Add Two Numbers) نمونه ها (Examples)
#C

#C — تبدیل نوع (Type Casting)

آخرین بروزرسانی: 1404/08/05

تبدیل نوع (Type Casting)

گاهی باید مقدارِ یک نوع داده را به نوعی دیگر تبدیل کنی. به این کار می گوییم «تبدیل نوع C#». مثل تبدیل نمره کلاسی به درصد برای مقایسه ساده تر.

تبدیل نوع C# چیست؟

دو مدل داریم: «ضمنی» و «صریح». ضمنی خودکار است و از کوچک به بزرگ می رود. صریح دستی است و برعکس عمل می کند.

ضمنی (Implicit): char → int → long → float → double.

صریح (Explicit): double → float → long → int → char.

تبدیل ضمنی: خودکار و بی دردسر

وقتی ظرف بزرگ تر است، مقدار جا می شود و خودکار تبدیل می شود.

int myInt = 9;
double myDouble = myInt;
Console.WriteLine(myInt);
Console.WriteLine(myDouble);

مشاهده در ادیتور

تبدیل صریح: دستی و کنترل شده

وقتی ظرف کوچک تر است، باید خودت نوع را جلوی مقدار بنویسی.

double myDouble = 9.78;
int myInt = (int) myDouble;
Console.WriteLine(myDouble);
Console.WriteLine(myInt);

مشاهده در ادیتور

تبدیل با متدهای Convert

گاهی روش امن تر، استفاده از متدهای آماده Convert است.

int myInt = 10;
double myDouble = 5.25;
bool myBool = true;
Console.WriteLine(Convert.ToString(myInt));
Console.WriteLine(Convert.ToDouble(myInt));
Console.WriteLine(Convert.ToInt32(myDouble));
Console.WriteLine(Convert.ToString(myBool));

مشاهده در ادیتور

نکته: در ورودی کاربر معمولاً به تبدیل نیاز داری. متن به عدد تبدیل می شود تا جمع بزنی.

گام های تمرین

  1. یک int بساز و آن را به double تبدیل کن.
  2. یک double بساز و با (int) به int تبدیل کن.
  3. با Convert.ToInt32 یک string عددی را به int تبدیل کن.

مسیر ادامه

برای انتخاب نوع مناسب، صفحه انواع داده را ببین. پایه کار با مقدارها در متغیرها است. همچنین این صفحه تبدیل نوع C# را نشانه گذاری کن.

جمع بندی سریع

  • ضمنی از کوچک به بزرگ است.
  • صریح از بزرگ به کوچک است.
  • Convert خطاها را قابل پیش بینی تر می کند.
  • ورودی کاربر معمولاً تبدیل لازم دارد.