درخواست های ارتباط
جستجو تنظیمات
لیست دوستان من

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

5 نظرات

در قسمت قبلی آموزش با توضیحاتی ابتدایی، با شیوه تعریف و استفاده از متغیرها در زبان سی شارپ آشنا شدیم. در ادامه قصد داریم به بررسی انواع نوع داده (Data Types) در زبان سی شارپ بپردازیم.

هنگام نوشتن یک برنامه سی شارپ ما به نوع های داده مختلفی برای ذخیره مقادیر مختلف نیاز داریم. این مقادیر می توانند به صورت رشته ای یا به صورت عددی باشند. در قسمت قبلی با نوع داده رشته ای یا string آشنا شدیم. در ادامه تک تک نوع های داده اولیه یا Primitive Data Types را در زبان C# بررسی خواهیم کرد.

اما قبل از شروع ذکر یک نکته ضروری است. زبان سی شارپ یک زبان Strongly-Typed است. برای این واژه معادل فارسی مناسب پیدا نکردم، اما مفهوم آن به این شرح است، هر متغیری که شما در زبان سی شارپ تعریف می کنید، حتماً باید نوع داده آن مشخص باشد. برای مثال، در زبان Visual Basic یک نوع داده به نام Variant وجود دارد که می توان در آن هر نوع مقداری را ذخیره کرد. اما در زبان سی شارپ هر متغیری نوع مشخصی دارد. برای مثال، شما نمی تواند در یک نوع داده عددی، یک رشته را ذخیره کنید یا بالعکس.

خوب، به ادامه مبحث متغیرها می پردازیم. همانطور که در قسمت قبل گفتیم، شیوه تعریف یک متغیر رشته ای در زبان سی شارپ به صورت زیر است:

string website = "ITPro.ir";

که بخش اول نوع متغیر، بخش دوم نام و بخش انتهایی که بعد از مساوی نوشته می شود، مقدار متغیر می باشد. در قسمت اول یا نوع متغیر، ما نوع داده مورد نظر را مشخص می کنیم. در لیست زیر هر یک از متغیرهای موجود در زبان سی شارپ بررسی شده اند:


نوع داده رشته ای


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

string firstName = "Hossein";
string lastName = "Ahmadi";
Console.WriteLine(firstName);
Console.WriteLine(lastName);

نوع های رشته را می توان با «+» به هم متصل کرد. این عملیات می تواند بر روی دو رشته، دو متغیر از نوع رشته یا یک متغیر از نوع رشته و یک رشته انجام شود:

string firstName = "Hossein";
string lastName = "Ahmadi";
string fullName = firstName+" "+lastName;
Console.WriteLine("Welcome dear " + fullName + ".");

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

Welcome dear Hossein Ahmadi.

نوع های داده عددی


در زبان سی شارپ، چندین نوع داده عددی داریم که بر اساس نوع داده صحیح و اعشاری و بازه ذخیره سازی اعداد به شرح زیر می باشند:

  1. نوع داده byte:

    در این نوع داده می توان از بازه 0 تا 255 را ذخیره کرد.

  2. نوع داده sbyte:

    در این نوع داده می توان از بازه 128- تا 127 را ذخیره کرد.

  3. نوع داده short:

    در این نوع داده می توان از بازه 32،768- تا 32،767 را ذخیره کرد.

  4. نوع داده ushort:

    در این نوع داده می توان از بازه 0 تا 65،535 را ذخیره کرد.

  5. نوع داده int:

    در این نوع داده می توان از بازه 2،147،483،648- تا 2،147،483،647 را ذخیره کرد.

  6. نوع داده uint:

    در این نوع داده می توان از بازه 0 تا 4،294،967،295 را ذخیره کرد.

  7. نوع داده long:

    در این نوع داده می توان از بازه 9،223،372،036،854،775،808- تا 9،223،372،036،854،775،807 را ذخیره کرد.

  8. نوع داده ulong:

    در این نوع داده می توان از بازه 0 تا 18،446،744،073،709،551،615 را ذخیره کرد.

  9. نوع داده float:

    در این نوع داده می توان از بازه 3.402823e38- تا 3.402823e38 را ذخیره کرد.

  10. نوع داده double:

    در این نوع داده می توان از بازه 1.79769313486232e308- تا 1.79769313486232e308 را ذخیره کرد.

  11. نوع داده decimal:

    در این نوع داده می توان از بازه 79228162514264337593543950335- تا 79228162514264337593543950335 را ذخیره کرد.

نکته:

علامت s در کنار byte یعنی نوع داده sbyte، مخفف signed یا دارای علامت منفی است که نشان دهنده بازه اعداد منفی می باشد.

نکته:

علامت u در کنار نوع هایی مانند short و int و long، مخفف unsigned یا بدون علامت منفی است که این نوع های داده اعداد بزرگتر از صفر را قبول می کنند.

برای مثال:

int number1 = 23332345;
decimal number2 = 458.332m;
byte number3 = 231;

در صورتی که کنار عددی کاراکتر m قرار بگیرد مانند مثال بالا، مشخص می کند که این عدد از نوع decimal است، در بخش های بعدی دلیل استفاده از این کاراکتر را متوجه خواهیم شد.

نکته:

همیشه نوع هایی که بازه شان کمتر از بازه نوع دیگر است، به طور مستقیم قابل تبدیل به هم هستند. برای مثال می توان متغیری از نوع int را داخل متغیری از نوع long ریخت، اما این برعکس این عمل امکان پذیر نیست. مثال:

int number1 = 55312;
long number2 = number1;

کد بالا بدون مشکل اجرا خواهد شد. اما کد زیر اجرا نخواهد شد:

long number1 = 223423;
int number2 = number1;

در صورت نیاز به این کار، باید از تبدیل نوع ها یا Type Casting استفاده کرد که در بخش های بعدی در مورد Type Casting توضیح خواهیم داد.


نوع داده کاراکتر:


هر رشته، مجموعه ای از کارکترها می باشد. برای مثال رشته "ABC" از کاراکترهای A و B و C تشکیل شده است. برای ذخیره یک کاراکتر در زبان سی شارپ از نوع داده char استفاده می کنیم. رشته ها در بین «"» قرار می گیرند. اما یک کاراکتر در بین «'» قرار می گیرد. برای مثال:

char chr1 = 'A';
char chr2 = 'B';

کد بالا، دو متغیر از نوع کاراکتر تعریف کرده و یکی کاراکتر A و در دیگری کاراکتر B را قرار می دهد.


نوع داده منطقی یا Boolean


این نوع داده تنها دو مقدار true یا صحیح و false یا غلط را قبول می کند. بیشتر از نوع داده منطقی، جهت ذخیره نتیجه مقایسه ها و کنترل روند اجرای برنامه بر اساس شرط ها استفاده می کنند. برای مثال:

bool var1 = false;
bool var2 = true;

کد بالا، دو متغیر تعریف کرده و در اولی مقدار false و در دومی مقدار true را ذخیره می کند. در بخش بعدی در مورد عملگر های ریاضی و عملگر های مقایسه صحبت خواهیم کرد و در آن قسمت با نحوه استفاده از نوع منطقی یا Boolean بیشتر آشنا خواهید شد.


نوع داده شئ یا object


نوع داده شئ یا Object، نوع داده ایست که در آن هر نوع مقداری چه رشته ای، چه عددی و چه منطقی قابل ذخیره است:

object intObj = 123;
object decimalObj = 235.56m;
object stringObj = "ITPro.ir";

در بالا گفتیم که زبان سی شارپ یک زبان Strongly-Typed می باشد و مثالی از نوع داده Variant در Visual Basic زدیم، اما توجه کنید که شیوه عملکرد نوع داده object با نوع داده variant متفاوت است. در بخش برنامه نویسی شئ گرا و آشنایی با مبحث وراثت با نوع داده شئ و دلیل اینکه هر نوع داده ای را قبول می کند و عملیات های boxing و unboxing بیشتر آشنا می شویم.


استفاده از کلمه کلیدی var


در زبان سی شارپ، همانطور که قبلاً هم گفته شد، تمامی نوع های داده باید مشخص باشند. اما بعضی وقت ها انتخاب نوع داده را بر اساس مقدار می خواهیم بر عهده زبان کامپایلر زبان سی شارپ بگذاریم. برای این کار، از کلمه کلیدی var استفاده می کنیم. با استفاده از این کلمه کلیدی، به زبان سی شارپ می گوییم، بر اساس مقداری که داخل متغیر ریخته می شود، نوع آن را خودت تشخیص بده. مثال:

var str = "ITPro.ir";
var num = 1223;
var decNum = 22563.333m;
var chr = 'A';

با مقدار اولیه ریخته شده داخل متغیرها، کامپایلر نوع داده را به صورت خودکار انتخاب می کند. فقط به دو نکته زیر توجه داشته باشید:

  1. متغیرهایی که با کلمه کلیدی var تعریف می شوند حتماً باید مقدار اولیه داشته باشند.

  2. بعد از تعریف متغیری با کلمه کلیدی var، نمی توان مقداری غیر از نوع اولیه آن ریخت. برای مثال:

var num = 1234;
num = "This is a text!";

کد بالا منجر به پیغام خطا خواهد شد، زیرا بر اساس مقدار اولیه نوع متغیر از نوع int در نظر گرفته شده و ریختن یک رشته داخل آن امکان پذیر نمی باشد.


کلمه کلیدی const


زمانی که شما متغیری را تعریف می کنید، در هر قسمت برنامه که به آن متغیر دسترسی دارید، می توانید مقدار آن را تغییر دهید. اما فرض کنید می خواهید این مقدار ثابت بوده و قابل تغییر نباشد. در اینجا باید از کلمه کلیدی const که مخفف constant یا ثابت می باشد استفاده کنید. زمانی که متغیری با این کلمه کلیدی مشخص می شود مقدار آن تنها زمان تعریف متغیر قابل تعیین خواهد بود و در سایر قسمت ها امکان تغییر مقدار متغیر را نخواهید داشت:

const int MY_CONSTANT = 12;

دستور بالا متغیری با مقدار ثابت 12 و با نام MY__CONSTANT تعریف می کند. زمان تعریف متغیرهای const سعی کنید از قاعده نام گذاری متغیرهای ثابت که تمام کاراکترهای آن Upper Case بوده و هر لغت بوسیله کاراکتر __ جدا می شوند استفاده کنید.

تا این قسمت، با انواع متغیرهای اولیه و ساده زبان سی شارپ آشنا شدیم. همچنین با کلمه کلیدی const آشنا شدیم. در بخش بعدی با عملگرهای ریاضی و عملگرهای منطقی آشنا خواهیم شد. تا قسمت بعدی دوستان را به خدای بزرگ می سپارم.

نویسنده: حسین احمدی

منبع: انجمن تخصصی فناوری اطلاعات ایران

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

آیا این مطلب را پسندیدید؟
ردیف عنوان قیمت
1 دوره آموزشی .NET Framework و زبان برنامه نویسی سی شارپ - مقدمه رایگان
2 آموزش سی شارپ - قسمت اول :: معرفی و بررسی ابزارهای مورد نیاز دوره رایگان
3 آموزش زبان سی شارپ - قسمت دوم :: آشنایی با .NET Framework و ساختار آن (بخش اول) رایگان
4 آموزش زبان سی شارپ - قسمت دوم :: آشنایی با .NET Framework و ساختار آن (بخش دوم) رایگان
5 آموزش زبان سی شارپ - قسمت سوم :: آشنایی اولیه با محیط Visual Studio و نوشتن اولین برنامه رایگان
6 آموزش زبان سی شارپ - قسمت چهارم :: آشنایی با ساختار برنامه ها و کامپایلر زبان سی شارپ رایگان
7 آموزش زبان سی شارپ - قسمت پنجم :: آشنایی با دستورات کنسول و متغیرها رایگان
8 آموزش زبان سی شارپ - قسمت ششم :: نوع های داده اولیه رایگان
9 آموزش زبان سی شارپ - قسمت هفتم :: آشنایی با عملگرهای زبان سی شارپ رایگان
10 آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش اول) رایگان
11 آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش دوم) رایگان
12 آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش سوم) رایگان
13 آموزش زبان سی شارپ - قسمت هشتم :: آشنایی با دستورات کنترلی و حلقه ها (بخش چهارم) رایگان
14 آموزش زبان سی شارپ - قسمت نهم :: آشنایی با آرایه ها و دستور foreach رایگان
15 آموزش زبان سی شارپ - قسمت دهم :: آشنایی با متدها در زبان سی شارپ (بخش اول) رایگان
16 آموزش زبان سی شارپ - قسمت دهم :: آشنایی با متدها در زبان سی شارپ (بخش دوم) رایگان
17 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت یازدهم :: مقدمه ای بر برنامه نویسی شئ گرا رایگان
18 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت دوازدهم :: آشنایی با کلاس، اشیاء و فضاهای نام رایگان
19 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت سیزدهم :: آشنایی با فیلدها و رفتارها رایگان
20 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت چهاردهم :: آشنایی با Property ها رایگان
21 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت پانزدهم :: آشنایی با سازنده ها و روش های ایجاد اشیاء رایگان
22 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت شانزدهم :: وراثت یا Inheritance رایگان
23 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت هفدهم :: آشنایی با مفهوم Polymorphism رایگان
24 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت هجدهم:: کلاس های abstract و sealed رایگان
25 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت نوزدهم :: سازنده ها در وراثت، کلمه کلیدی protected و فیلدهای readonly رایگان
26 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیستم :: کلاس های static و partial و Extension Method ها رایگان
27 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیست و یکم :: Reference Types و Value Types رایگان
28 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیست و دوم :: آشنایی با کاربرد interface ها رایگان
29 آموزش برنامه نویسی شئ گرا در زبان سی شارپ - قسمت بیست و سوم :: آشنایی با مفاهیم Inversion of Control و Dependency Injection رایگان
30 آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و چهارم :: آشنایی با مفهوم Type Casting و انواع Cast ها رایگان
31 آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و پنجم :: آشنایی با operator overloading و تعریف cast ها رایگان
32 آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و ششم :: مفاهیم boxing و unboxing رایگان
33 آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و هفتم :: قابلیت Generics رایگان
34 آموزش برنامه نویسی شئ گرا در زبان سی شارپ -قسمت بیست و هشتم :: نکات تکمیلی Generic ها، کلاس List و کلاس Dictionary رایگان
35 آموزش زبان سی شارپ -قسمت بیست و نهم (پایانی): استثناء ها (Exceptions) و مدیریت خطاها در سی شارپ رایگان
  • سلام،ممنون از آموزش های خوبتون.

    میخواستم بدونم اگر کد:

    string firstName = "Hossein";
    string lastName = "Ahmadi";
    string fullName = firstName+" "+lastName;
    Console.WriteLine("Welcome dear " + fullName + ".");
    

    به صورت زیر نوشته بشه،آیا تاثیر خاصی داره و یا فقط نوع نگارش فرق میکنه و هیج تاثیری نداره؟

    string firstName = "Hossein";
    string lastName = "Ahmadi";
    string fullName = firstName+" "+lastName;
    Console.WriteLine("Welcome dear {0}. ", fullName);
    
  • شما در قسمت دوم از قابلیت string format استفاده کردید، یه فرقی نداره و اتفاقاً حالتی که شما گفتید صحیح هست. در بخش آشنایی با کلاس String به صورت کامل قابلیت String Format توضیح خواهم داد.

  • شروع کردم به خوندن مقاله هاتون. خیلی عالی به نظر میان. فعلا اومدم تشکر کنم تا بعد

  • سلام سخته نباشید یه سوال:

    این {0} چیه که در دستور چاپ اسفاده میشه؟

    )Console.WriteLine("text {0}" + variable);

  • سلام و عرض ادب، اون علامتی که شما بهش اشاره کردید در حقیقت مکانی هست که ما داخل رشته مشخص می کنیم تا با مقادیری که بعد از رشته مشخص شده جایگزین بشه. این عدد از صفر شروع میشه و می تونه تا چندین جایگاه تعریف بشه. برای مثال:

    Console.WriteLine("Your name: {0} {1}, Welcome to {2}","Hossein","Ahmadi","ITPro.ir");
    

    در نمونه کد بالا، مقادیر Hossein و Ahmadi و ITPro به ترتیب با جایگاه های 1 الی 2 داخل رشته جایگزین میشن.

برای ارسال نظر ابتدا به سایت وارد شوید

arrow