در #C، انواع data type ها به صورت متفاوتی ثبت شده اند. علاوه بر این، فقط اقدامات محدودی مجاز است که بر روی هریک از آنها اجرا شود. برای هریک از این data type ها، یک اندازه معینی از حافظه بر روی کامپیوتر ما رزرو شده است.
این مقاله، سرفصلی از دوره آموزشی زیر میباشد:
- راه اندازی محیط توسعه
- Data Type ها، Declaration ها و تعریف متغیرها در #C
- عملگرها در #c
- تبدیل نوع های داده ای
- ورودی و خروجی در #c
- کار با رشته ها
- شرطها در #c
- حلقه ها (While، Do-While، For)
- مدیریت خطاها
- Access Modifier ها
- متدها
- کلمات کلیدی Ref و Out
- بازگشت و متدهای بازگشتی
- آرایه ها (آرایه های تک بعدی و چند بعدی)
- کار با فایلها، StreamWriter و StreamReader
- کار با فایلها، File و Directory
اگر می خواهید محتویات کامل این دوره را ببینید ، می توانید بر روی لینک مبانی #c کلیک کنید.
با هر data type که ما تعریف میکنیم با موارد زیر سرکار خواهیم داشت:
- نحوه ثبت داده ها در حافظه
- مقادیر مجاز برای داده ها
- اقدامات مجاز برای داده ها
پس اجازه بدید بیشتر در مورد data type ها در #C صحبت کنیم.
در این مقاله ما قصد داریم موضوعات زیر را پوشش دهیم:
ثبت Data Type
Data type هایی که مجموع اعداد را نشان میدهند با تعداد معینی بیت بیان میشوند. برای اعداد بدون علامت، محدوده اعداد بین 0 تا 2N-1 و برای اعداد با علامت، محدوده اعداد بین 2N-1– تا 2N-1-1 میباشد. بنابراین اگر یک data type مانند sbyte که یک اندازه 8 بیتی دارد را میتوانیم محدوده آن را به این صورت نشان دهیم: از 27– تا 1-27 => از 128- تا 127.
جدول زیر شامل انواع data type ها میباشد که طیف اعداد را نشان میدهد:

حرف u قبل از نوع داده بیانگر این است که data type نمیتواند شامل اعداد منفی باشد، به عبارتی آن بی علامت است.
کل data type های ذکر شده در بالا، مجموع data type های عددی میباشند. اما در #C ما نوع های داده ای دیگر به صورت اعشاری نیز داریم.
ما میتوانیم این نوع های داده ای اعشاری را در جدول زیر نمایش دهیم:

در #C ما دو data type دیگر نیز داریم:

برای استفاده از نوع char، ما باید آن را داخل تک کوتیشن قرار دهیم: ‘a’ یا ‘A’ یا ‘3’…
یک نوع داده ای دیگر که به عنوان نوع داده ای پایه معرفی شده است نوع string میباشد. اما string یک value type نیست بلکه یک reference type است. برای استفاده از یک string در کد، ما باید مقدار را درون جفت کوتیشن قرار دهیم. مانند: “This is the string type” یا “3562”…
در حال حاضر ما میدانیم که دو نوع value type و reference type ها را داریم و حالا وقتشه که بیشتر در مورد آنها و همچنین متغیرها صحبت کنیم.
متغیرها در #C
متغیر نام یک مکان در حافظه است که اپلیکیشن، مقدار را درون آن ذخیره میکند.
ما باید متغیرها را مانند مثالهای زیر ایجاد کنیم:
- studentName
- subject
- work_day …
تعریف متغیرها مانند مثالهای زیر اشتباه میباشد:
- student Name
- work-day
- 1place
ما باید این نکته را هم ذکر کنیم که #C یک زبان حساس به حروف کوچک و بزرگ میباشد. بنابراین studentName با StudentName یکی نمیباشد.
زبان #C مجموعه کلمات رزرو شده خود را دارد، به اصطلاح کلمات کلیدی هستند. ما از آنها به عنوان نام متغیر نمیتوانیم استفاده نماییم. برای مشاهده لیست این کلمات، میتوانید لیست کلمات کلیدی را مشاهده نمایید.
در #C ما متغیرهایی داریم که به دو دسته تقسیم میشوند: Value type و Reference type. تفاوت بین آنها این است که متغیرهای value type، مقادیرشان را مستقیم درون مکان حافظه خودشان ذخیره میکنند اما مکان حافظه برای متغیرهای reference type، فقط شامل آدرس مربوط به مکانی از حافظه داینامیک میباشد که مقدار درون آن ذخیره شده است.
حالا نحوه رفتار یک value type را در شکل گرافیکی زیر مشاهده کنید:

حال نحره رفتار یک reference type را در شکل زیر مشاهده کنید:

Variable Declaration ها و Expression ها
ما باید متغیرهایمان را به شیوه زیر تعریف کنیم:
1 |
<data type> <variable name> ; or <data type> <variable name>, <variable name> ... ; |
بنابراین به چند نمونه زیر توجه کنید:
1 2 3 4 5 6 7 8 9 |
class Program { static void Main(string[] args) { int age; double temperature, change; Student student; } } |
فقط با تعریف متغیر، ما نمیتوانیم یک مقدار را به یک متغیر value type اختصاص دهیم. برای انجام این کار، ما باید علاوه بر تعریف، از expression ها استفاده نماییم:
1 |
<data type> <variable name> = <expression> ; |
برای این منظور، مجددا به مثال قبلی از منظر زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 |
class Program { static void Main(string[] args) { int x = 5; int y = 145 + x; char p = 'p'; p = 'A'; } } |
برای اختصاص دادن مقدار به متغیر reference type باید از کلمه کلیدی new در قسمت expression استفاده کنید(نوع string مستثنا از این امر است):
1 2 3 4 5 6 7 |
class Program { static void Main(string[] args) { Student student = new Student("John", 25); } } |
قابل ذکر است که ما توصیه نمیکنیم که از نامهایی مانند x یا y … برای نام گذاری متغیرها استفاده نمایید. ما فقط از این نامها برای سادگی مثالهایمان استفاده کردیم. بهتر است که از نامهای با مسما و با معنی برای متغیرهایمان استفاده کنیم.
نتیجه گیری
حالا ما یاد گرفتیم که چطور متغیرهایمان را تعریف کنیم و همچنین مقادیر را به آنها اختصاص دهیم.
در مقاله بعدی ما در مورد عملگرها در #C صحبت خواهیم کرد.