سه شنبه ۲۷ شهريور ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

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

تبدیل نوع تبدیل یک نوع داده به نوع دیگر است. به نام 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