آموزش سی شارپ

مباحث پایه سی شارپ

مباحث پیشرفه سی شارپ

دستورات سی شارپ

تبدیل نوع در سی شارپ – آموزش سی شارپ

تصویر csharp-type-conversion_1813 تبدیل نوع در سی شارپ - آموزش سی شارپ

تبدیل نوع در سی شارپ

در این بخش از آموزش زبان سی شارپ به بررسی روش های تبدیل نوع در سی شارپ به یک دیگر خواهیم پرداخت. در مراجع مختلف ممکن است کار تبدیل انواع را با نام Type Casting نیز مشاهده کیند.

Type Casting دو شکل مختلف دارد:

  • تبدیل نوع به صورت Implicit: این نوع تبدیل ها به روش ایمن (type-safe) انجام می شود. برای مثال تبدیل نوع int به long و یا تبدیل یک کلاس مشتق شده به کلاس پایه.
  • تبدیل نوع به صورت Explicit: این نوع تبدیل ها با استفاده از توابع از پیش تعریف شده انجام می شود. تبدیل نوع به صورت Explicit نیاز به یک عملگر cast دارد.

مثال زیر نحوه تبدیل نوع به صورت explicit را نشان می دهد:

امتحان کنید

هنگامی که کد بالا کامال شده و اجرا شود، نتیجه ی زیر را تولید می کند:

متد های تبدیل نوع در سی شارپ

در زبان برنامه نویسی C# برای تبدیل انواع به یک دیگر می توانید از متد های درون ساخت (از پیش تعریف شده) استفاده کنید.

ردیفمتد و توضیحات
1ToBoolean : یک نوع را به نوع boolean تبدیل می کند (اگر ممکن باشد).
2ToByte : یک نوع را به نوع byte تبدیل می کند.
3ToChar : یک نوع را به نوع char تبدیل می کند (اگر ممکن باشد).
4ToDateTime : یک نوع (int یا string) را به نوع date-time تبدیل می کند.
5ToDecimal : یک نوع int یا float را به نوع decimal تبدیل می کند.
6ToDouble : یک نوع را به نوع double تبدیل می کند.
7ToInt16 : یک نوع را به نوع int (16 بیتی) تبدیل می کند.
8ToInt32 : یک نوع را به نوع int (32 بیتی) تبدیل می کند.
9ToInt64 : یک نوع را به نوع int (64 بیتی) تبدیل می کند.
10ToSbyte : یک نوع را به نوع signed byte تبدیل می کند.
11ToSingle : یک نوع را به نوع float کوچک تبدیل می کند.
12ToString : یک نوع را به نوع string تبدیل می کند.
13ToType : یک نوع را به یک نوع مشخص شده تبدیل می کند.
14ToUInt16 : یک نوع را به نوع int مثبت تبدیل می کند.
15ToUInt32 : یک نوع را به نوع long مثبت تبدیل می کند.
16ToUInt64 : یک نوع را به نوع int مثبت بزرگ تبدیل می کند.

مثال زیر چند نوع مختلف را به نوع string تبدیل می کند:

امتحان کنید

زمانی که کد بالا توسط کامپایلر سی شارپ کامپایل و اجرا شود، نتیجه زیر را تولید می کنید:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۴ مورد)
  1. تصویر آواتار کاربر 0
    ولی علی نژاد پنجشنبه , 11 مهر

    برای تبدیل یک متغیر از نوع enum به نوع int و برعکس چیکار باید بکنیم؟

  2. تصویر آواتار کاربر 0
    بهرام دوشنبه , 20 مرداد

    با سلام خدمت شما ظاهرا اشتباهی پیش آمده چون وقتی که هر یک از فرامین لیست شده در جدول بالا را اجرا می کنیم پیغام خطا می دهد که متغیر فلان متد مورد نظز را ندارد و پیغامی مشابه زیر دیافت می کنیم : Error(s): (10:24) 'float' does not contain a definition for 'ToInt32' and no accessible extension method 'ToInt32' accepting a first argument of type 'float' could be found (are you missing a using directive or an assembly reference?)

    • تصویر آواتار کاربر 124
      AmRoدوشنبه , 20 مرداد

      سلام...اگه میتونید مشکلتونو به همراه کدی که نوشتین و کار نمیکنه...داخل انجمن سایت قرار بدین تا بررسی شه.