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

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

  • تبدیل نوع ضمنی(Implicit type conversion) - این نوع تبدیل توسط خود سی شارپ انجام می شود و به یک شیوه ی کاملا امن انجام می شود. مثلا تبدیل از عدد صحیح کوچکتر به عدد بزرگتر یا تبدیل از کلاس مشتق .شده به کلاس پدر آن
  • تبدیل نوع صریح (Explicit type conversion) - در این نوع تبدیل که توسط کابر انجام می گیرد، از توابع تبدیل از پیش تعریف شده در سی شارپ استفاده می شود. در این نوع تبدیل ما حتما به یک اپراتور تبدیل نیاز داریم.

قطعه کد زیر یک عملیات تبدیل نوع را نشان می دهد.

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

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

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

Sr.No Methods & Description
1 ToBoolean

Converts a type to a Boolean value, where possible.

2 ToByte

Converts a type to a byte.

3 ToChar

Converts a type to a single Unicode character, where possible.

4 ToDateTime

Converts a type (integer or string type) to date-time structures.

5 ToDecimal

Converts a floating point or integer type to a decimal type.

6 ToDouble

Converts a type to a double type.

7 ToInt16

Converts a type to a 16-bit integer.

8 ToInt32

Converts a type to a 32-bit integer.

9 ToInt64

Converts a type to a 64-bit integer.

10 ToSbyte

Converts a type to a signed byte type.

11 ToSingle

Converts a type to a small floating point number.

12 ToString

Converts a type to a string.

13 ToType

Converts a type to a specified type.

14 ToUInt16

Converts a type to an unsigned int type.

15 ToUInt32

Converts a type to an unsigned long type.

16 ToUInt64

Converts a type to an unsigned big integer.

قطعه کد زیر انواع داده ای مختلف را به نوع رشته ای یا استرینگ تبدیل می کند.

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