بررسی Data Type ها در برنامه نویسی سی شارپ

بررسی Data Type ها در برنامه نویسی سی شارپ

در این پست از وبسایت پرووید، در رابطه با بررسی Data Type ها در برنامه نویسی سی شارپ صحبت خواهیم کرد. به ادامه ی مطلب بروید.

در این قسمت از این آموزش از وبسایت پروید در رابطه با نوع های داده ای یا اصطلاحاً Data Type ها در سی شارپ صحبت خواهیم کرد. همانطور که در قسمت های قبلی از این آموزش دیده اید یک متغیر یا Variable در زمان تعریف باید نوع داده یا Data Type آن مشخص باشد. توصیه می کنیم که مطلب بررسی متغیر ها در برنامه نویسی سی شارپ را مطالعه کنید. این به این دلیل است که سی شارپ یک زبان Strongly-typed میباشد. زبان هایی که به صورت Strongly-typed باشند باید در زمان تعریف یک متغیر نوع داده ای آن متغیر را بدانند. لطفاً به کد زیر نگاه کنید.

 string message = "Hello World!!"; 

در کد بالا string یک Data Type می باشد و message یک متغیر یا Variable. در زبان سی شارپ Data Type های مختلفی به صورت Built-in در نظر گرفته شده اند.

بسته ی آموزش ویدئویی مباحث پیشرفته در برنامه نویسی سی شارپ

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی مباحث پیشرفته در برنامه نویسی سی شارپ دیدن کنید.

بعضی از آنها عبارتند از string و float و decimal و غیره. لطفاً نگاهی به کد زیر بیندازید.

class Program
{
    static void Main(string[] args)
    {
        string stringVar = "Hello World!!";
        int intVar = 100;
        float floatVar = 10.2f;
        char charVar = 'A';
        bool boolVar = true;
    }
}

هر کدام از این Data Type ها یک Range دارند که به معنی گستره مقادیری است که می‌توانیم در آنها قرار بدهیم. برای مثال اگر یک متغیر از نوع int که به معنی عدد صحیح یا همان Integer است تعریف شود یک مقدار بین -2,147,483,648 و 2,147,483,647 می تواند در آن قرار بگیرد. پس هر چیزی که خارج از این Range باشد نمی تواند در درون یک متغیر از نوع Integer قرار بگیرد. به همین ترتیب یک Data Type با نام bool می‌تواند فقط دو مقدار true یا false را داشته باشد.

بسته ی آموزش ویدئویی سی شارپ دات نت

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی سی شارپ دات نت دیدن کنید.

در جدول زیر لیستی از Data Type های درون سی شارپ را به همراه مقادیری یا Range مقادیری که در آنها قرار می گیرند را مشاهده می‌کنید.

همانطور که در جدول بالا مشاهده میکنید تمامی Data Type ها به جز string و object یک Range دارند. دقت کنید که اگر یک مقدار خارج از این محدوده در درون آنها قرار بگیرد کامپایلر خطا ایجاد خواهد کرد. برای مثال Data Type عدد صحیح یا همان int را در نظر بگیرید. Range این Data Type بین -2,147,483,648 و 2,147,483,647 می باشد بنابراین کدی که در دستور زیر مشاهده می کنید باعث ایجاد یک خطا می شود چرا که عدد انتصاب داده شده به متغیر i که از نوع int است خارج از محدوده این Data Type می باشد.

// compile time error: Cannot implicitly convert type 'long' to 'int'.
int i = 21474836470; 

بررسی Alias و .NET Type ها

نام مستعار یا همان Alias نام کوتاه شده ی یک Data Type است. همانطور که در جدول زیر مشاهده می‌کنید

ستون اول Alias ها را نشان می دهد و ستون دوم نام Data Type های درون دات نت را. برای مثال int نام مستعار یا همان Alias برای یک Data Type با نام واقعی System.Int32 می‌باشد. این Data Type در واقع یک Structure است که در Namespace ی با نام System تعریف شده است. در رابطه با Namespace ها در مطلب بررسی Keyword های رزور شده در زبان سی شارپ از این آموزش بیشتر صحبت کرده‌ایم. ضمناً در رابطه با Structure ها حتما در قسمت های بعدی جزئیات بیشتری را در اختیار شما قرار خواهیم داد. به همین ترتیب string یک Alias برای یک کلاس با نام اصلی System.String می باشد.

بررسی تبدیل Data Type ها به هم در زبان سی شارپ

بعضی اوقات تبدیل مقدار درون یک Variable از یک Data Type به یک Data Type دیگر به صورت خودکار اتفاق می‌افتد. دقت کنید که برای کلمه تبدیل در این حوزه می توان از کلمه انگلیسی Conversion و یا Cast استفاده کرد. زمانی که این Conversion به صورت خودکار اتفاق می‌افتد به آن Implicit Conversion یا تبدیل ضمنی می‌گویند.

بسته ی آموزش ویدئویی سی شارپ دات نت

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی سی شارپ دات نت دیدن کنید.

کدی که در قسمت زیر مشاهده می کنید یک Implicit Conversion را به شما نشان می‌دهد.

int i = 345;
float f = i;

Console.WriteLine(f);

در این مثال مقدار یک متغیر از نوع int به یک متغیر از نوع float به نام f نسبت داده شده است و این Conversion به صورت ضمنی و یا Implicit اتفاق می افتد. جدولی که در قسمت زیر مشاهده می کنید مربوط به Implicit Conversion های درون سی شارپ و بین Data Type های مختلف می باشد.

با این همه دقت کنید که تمامی Data Type هایی که در دات نت فریم ورک وجود دارند نمی توانند به صورت Implicit Conversion به Data Type های دیگر تبدیل بشوند. برای مثال int نمی‌تواند به uint به صوت ضمنی تبدیل شود. این موضوع را باید به صورت Explicit Conversion یا صریح ر کد نویسی اعمال کنیم. این موضوع در کد زیر نشان داده شده است.

public static void Main()
{
    int i = 100;
    uint u = (uint) i;
    Console.Write(i);
}

همانطور که در مثال بالا می بینید تبدیل int به uint با استفاده از پرانتز انجام شده است. این قضیه را اصطلاحاً Explicit Conversion یا تبدیل صریح می‌گوییم.

بسته ی آموزش ویدئویی مباحث پیشرفته در برنامه نویسی سی شارپ

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی مباحث پیشرفته در برنامه نویسی سی شارپ دیدن کنید.

در یک دسته بندی دیگر ما می توانیم Data Type ها را به دو دسته Value Type و Reference Type تبدیل کنیم. این دسته بندی بر اساس اینکه آیا در درون یک متغیر داده واقعی قرار می گیرد و یا یک Pointer یا اشاره گر به داده ای که در حافظه است انجام می‌شود. در رابطه با این دسته بندی در قسمت های بعدی صحبت خواهیم کرد.

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

مرتضی گیتی
بدون نظر

ارسال نظر

نظر
نام
ایمیل
وب سایت