آموزش سی شارپ (#C) قسمت 8 : نوع های داده اولیه

در قسمت قبلی آموزش با توضیحاتی ابتدایی، با شیوه تعریف و استفاده از متغیرها در زبان سی شارپ آشنا شدیم. در ادامه قصد داریم به بررسی انواع نوع داده (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 آموزش سی شارپ (#C) قسمت 1 : مقدمه رایگان
2 آموزش سی شارپ (#C) قسمت 2 : ابزارهای مورد نیاز دوره رایگان
3 آموزش سی شارپ (#C) قسمت 3 : آشنایی با .NET Framework یک رایگان
4 آموزش سی شارپ (#C) قسمت 4 : آشنایی با .NET Framework دو رایگان
5 آموزش سی شارپ (#C) قسمت 5 : آشنایی با محیط ویژوال استودیو رایگان
6 آموزش سی شارپ (#C) قسمت 6 : ساختار برنامه ها و کامپایلر سی شارپ رایگان
7 آموزش سی شارپ (#C) قسمت 7 : دستورات کنسول و متغیرها رایگان
8 آموزش سی شارپ (#C) قسمت 8 : نوع های داده اولیه رایگان
9 آموزش سی شارپ (#C) قسمت 9 : آشنایی با عملگرها رایگان
10 آموزش سی شارپ (#C) قسمت 10 : دستورات کنترلی و حلقه ها یک رایگان
11 آموزش سی شارپ (#C) قسمت 11 : دستورات کنترلی و حلقه ها دو رایگان
12 آموزش سی شارپ (#C) قسمت 12 : دستورات کنترلی و حلقه ها سه رایگان
13 آموزش سی شارپ (#C) قسمت 13 : دستورات کنترلی و حلقه ها چهار رایگان
14 آموزش سی شارپ (#C) قسمت 14 : آشنایی با آرایه ها و دستور For Each رایگان
15 آموزش سی شارپ (#C) قسمت 15 : آشنایی با متدها یک رایگان
16 آموزش سی شارپ (#C) قسمت 16 : آشنایی با متدها دو رایگان
زمان و قیمت کل 0″ 0
5 نظر
مهران سیفعلی نیا

سلام،ممنون از آموزش های خوبتون.

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

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 توضیح خواهم داد.

yarab14

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

amir_78m

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

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

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

حسین احمدی

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

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

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

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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