آموزش سی شارپ - تبدیل نوع
تبدیل نوع تبدیل یک نوع داده به نوع دیگر است. به نام Type Casting نیز شناخته می شود. در سی شارپ، نوع ریخته گری دو شکل دارد -
-
تبدیل نوع ضمنی (Implicit) - این تبدیل ها توسط سی شارپ به روشی ایمن انجام می شود. به عنوان مثال، تبدیل از انواع کوچکتر به بزرگتر و تبدیل کلاسهای مشتق شده به کلاسهای پایه است.
-
تبدیل نوع صریح (Explicit) - این تبدیل ها به صراحت توسط کاربران با استفاده از توابع از پیش تعریف شده انجام می شود. تبدیل صریح به یک عملگر تبدیل نیاز دارد.
مثال زیر یک تبدیل نوع صریح - را نشان می دهد
using System;
namespace TypeConversionApplication {
class ExplicitConversion {
static void Main(string[] args) {
double d = 5673.74;
int i;
// cast double to int.
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند -
5673
متد های تبدیل نوع در سی شارپ
سی شارپ روش های تبدیل نوع زیر را ارائه می دهد -
ردیف | متدها و توضیحات |
---|---|
1 |
ToBoolean در صورت امکان یک نوع را به مقدار بولی تبدیل می کند. |
2 |
ToByte یک نوع را به بایت تبدیل می کند. |
3 |
ToChar در صورت امکان، یک نوع را به یک کاراکتر یونیکد تبدیل می کند. |
4 |
ToDateTime یک نوع (نوع عدد صحیح یا رشته ای) را به ساختارهای تاریخ-زمان تبدیل می کند. |
5 |
ToDecimal یک نوع ممیز شناور یا عدد صحیح را به نوع اعشاری تبدیل می کند. |
6 |
ToDouble یک نوع را به یک نوع double تبدیل می کند. |
7 |
ToInt16 یک نوع را به یک عدد صحیح 16 بیتی تبدیل می کند. |
8 |
ToInt32 یک نوع را به یک عدد صحیح 32 بیتی تبدیل می کند. |
9 |
ToInt64 یک نوع را به یک عدد صحیح 64 بیتی تبدیل می کند. |
10 |
ToSbyte یک نوع را به یک نوع بایت امضا شده تبدیل می کند. |
11 |
ToSingle یک نوع را به یک عدد ممیز شناور کوچک تبدیل می کند. |
12 |
ToString یک نوع را به رشته تبدیل می کند. |
13 |
ToType یک نوع را به یک نوع مشخص تبدیل می کند. |
14 |
ToUInt16 یک نوع را به یک نوع int بدون علامت تبدیل می کند. |
15 |
ToUInt32 یک نوع را به یک نوع طولانی بدون علامت تبدیل می کند. |
16 |
ToUInt64 یک نوع را به یک عدد صحیح بزرگ بدون علامت تبدیل می کند. |
مثال زیر انواع مقادیر مختلف را به نوع رشته ای - تبدیل می کند
using System;
namespace TypeConversionApplication {
class StringConversion {
static void Main(string[] args) {
int i = 75;
float f = 53.005f;
double d = 2345.7652;
bool b = true;
Console.WriteLine(i.ToString());
Console.WriteLine(f.ToString());
Console.WriteLine(d.ToString());
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
}
هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند -
75
53.005
2345.7652
True