آموزش سی شارپ C# قسمت دوم

1396/3/26 محمد احمدی 8286

سلام و وقت بخیر خدمت دوستان عزیز .

امیدوارم اون چیزی که جلسه قبل گفتم رو خونده باشید و با محیط ویژوال استادیو آشنایی نسبی پیدا کرده باشید

جلسه قبل یک مقدار در مورد خود نرم افزار ویژوال استادیو صحبت کردیم . گفتیم که یک چیزی به نام پروژه وجود داره ( که میدونید چیه ) و یک چیزی هم به نام سولوشن وجود داره که بالاتر از پروژه هست و توی سولوشن میتونه چند تا پروژه وجود داشته باشه ( به زبان های مختلف . مثلا دوتا پروژه متفاوت به زبان سی شارپ و دوتا پروژه مختلف دیگه به زبان ویژوال بیسیک ! ) .

یکی از خوبیهای سولوشن اینه که براحتی میشه پروژه های مختلفی که توی یک سولوشن هستن رو باهم متصل کرد و از امکانات یک پروژه توی یک پروژه دیگه استفاده کنید !

توی هر پروژه ( یا حتی سولوشن ) فایل هایی وجود داره که باعث تکمیل پروژمون میشه !

وقتی یک پروژه سی شارپ میسازید , بصورت خودکار یک سری فایل همراه با پروژه ساخته میشه و توی پوشه سولوشن و پروژه قرار داده میشه !

مثلا اگه یک پروژه سی شارپ از نوع ویندوز فرم بسازید , یک فایل Program.cs و یک فایل Form1.cs و یک فایل App.Config و چند تا فایل دیگه هم ساخته میشه که هر کدوم از این فایل ها یک جایی بدرد میخوره و هیچ کدوم اضافه نیست ( پس سعی نکنید یکی رو حذف کنید )

حالا که میدونیم پروژه و سولوشن و ... چی هست , نوبت اینه که با بخش Solution Explorer آشنا بشیم .

در واقع سولوشن اکسپلورر یک پنل برای مدیریت سولوشن ( یا سولوشن ها ) و تمامی فایل هایی که توی اون هستن ( از جمله پروژه ها و فایل های درون پروژه ) هست .

مکان قرار گیری پنل سولوشن اکسپلورر توی ویژوال استادیو در وسط سمت راست صفحه هست . ( البته بطور معمول و اگه تغییر نداده باشید )

Where is Solution Explorer

شکل 1 – محل قرار گیری Solution Explorer در ویژوال استادیو

اگر سولوشن اکسپلورر توی محیط ویژوال استادیو نبود ( یا به هر دلیلی شما پیداش نکردید ) , میتونید از منوی View -> Solution Explorer پنل رو به محیط ویژوال استادیو اضافه کنید .

فعلا به همین قدر توضیح در مورد سولوشن اکسپلورر اکتفا میکنیم !

خب یک پنل مهم دیگه هم داریم که اسمش Toolbox هست ( که به فارسی میشه جعبه ابزار ) . توی جعبه ابزار , چند تا از مهم ترین ابزار های مورد نیاز برنامه نویسی وجود داره که هر کدوم رو که بخوایم میتونیم به پروژمون اضافه کنیم

چند تا از مهمترین ابزار ها (TextBox , Button , Label , ListBox , CheckBox , RadioButton , ….. ) هستن که معمولا کاربرد زیادی دارن ( اگه یادتون باشه جلسه قبل یک باتن هم اضافه کردیم !! )

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

گفتیم که توی سی شارپ یک سری ابزار داریم . حالا باید بدونیم که هر کدوم از این ابزارها یک سری چیزهایی رو بخودش داره که به چند دسته تقسیم میشه :

  1. Property یا خصوصیت
  2. Event یا رویداد
  3. Method یا متد ( قبلا با نام تابع شناخته میشد )

در واقع هر کدوم از این ابزارها یک کلاس بشمار میاد . ( بعدا توضیح بیشتری میدم )

خب حالا بریم سراغ مواردی که توی کد نویسی باهاشون سر و کار داریم !

مقدمات پایه مورد نیاز :

  1. متغیر ها
  2. محاسبات و عملگرهای محاسباتی
  3. ساختار ها ( عمده ترین و مهم ترین ساختارها , ساختارهای شرط و حلقه ها هستن )
  4. آرایه ها
  5. متد ها و توابع

اولین بحث ما در مورد متغیرها ست . ( جلسه امشب هم به متغیرها اختصاص داره )

اکثرا متغیر رو اینطوری تعریف میکنن : " متغیر بخشی از حافظه رم میباشد که وظیفه ذخیره سازی اطلاعات ( اعم از اعداد , نوشته ها , زمان و تاریخ و .... ) را دارد . هر متغیر سه مشخصه اصلی دارد ( 1- نوع متغیر , 2- نام متغیر , 3- مقدار متغیر ) "

تعریف بالا تقریبا شفاف و واضح هست , اما اگه متوجه نشدید جای نگرانی نیست .

یک مثال میزنم : فرض کنید شما میخواید یک مقدار غذا بخورید ( نوش جان ) خب این غذا رو میتونید مستقیما از توی ظرف اصلی ( مثلا دیگ یا قابلمه ) میل کیند . ولی یک مسئله ای هست اونم اینه که این همیشه ایده ال نیست . مثلا اون غذا فقط مال شما نیست و با یک عده دیگه مشترک هست . و یا یک عده دیگه میخوان از اون غذا میل کنن و نمیشه به هر کدوم یک قاشق داد و راه رسیدن به دیگ رو نشونشون داد

راه حل چیه ؟؟؟ اینه که باید یک سری ظرف تهیه کنیم ( مثل بشقاب یا کاسه ) و غذا رو توی اون ظرف ها به مردم ارائه بدیم !!

توی برنامه نویسی ( تقریبا توی همه زبان ها ) همچین حالتی وجود داره . ما میتونیم بدون استفاده از ظرف ( در واقع همون متغیر ) استفاده خودمون رو ببریم و کارمون رو راه بندازیم . ولی یک جاهایی باید یک ظرفی تهیه کنیم که بتونیم یک مقدار رو از کاربر بگیریم , یک سری اعمال روش انجام بدیم , و در نهایت نتیجه رو به کاربر نشون بدیم !!

مثلا میخوایم دو عدد رو از کاربر دریافت کنیم و حاصل جمع اونا رو نشون بدیم . خب اولین کار اینه که دوتا عدد رو به شکلی ( به هر نحوی ) از کاربر بگیریم و هر کدوم رو بصورت جداگانه توی یک ظرف بریزیم . مرحله دوم کار این هست که اون دوتا رو با هم جمع کنیم و حاصل جمع رو توی یک ظرف ( یا همون متغیر ) سوم بریزیم . و درنهایت آخرین مرحله این هست که نتیجه رو به کاربر نشون بدیم !!

توی برنامه نویسی به زبان سی شارپ , برای اینکه بتونیم از متغیر ( ظرف ) استفاده کنیم , اول باید اون رو تعریف کنیم .

هر متغیر یک نوع داره و هر کدوم از انواع متغیرها به یک دردی میخوره و یک جایی به کمک ما میاد !

مثلا یک سری از انواع فقط برای عدد هستن . یک سری برای متن هستن ( مثلا نام و نام خانوادگی ) . و یک سری برای دریافت تاریخ و ساعت ( مثل روز دقیق تولد و یا ساعت پرداخت حقوق !! )

به چند تا از انواع متغیرها یک اشاره ای میکنیم : ( منبع : http://qqt.ir/csharp-type )

  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 را ذخیره کرد.
  12. نوع داده string : در این نوع داده میتوان رشته ها را ذخیره کرد . برای نسبت دادن یک رشته یا متن بصورت دستی , باید متن مورد نظر را درون دو عدد دابل کوتیشن (ِDouble Quotation) قرار داد . مثال : "Hello World"
  13. نوع داده char : در این نوع داده میتوان یک کاراکتر را قرار داد . همانند نوع داده ای string باید متن را درون تک کوتیشن (Single Quotation) قرار داد . مثال : ‘A’ . نکته مهم : در نوع داده ای char تنها یک کاراکتر میتوان ذخیره و نگهداری کرد !
  14. نوع داده bool : این نوع داده تنها دو مقدار true یا صحیح و false یا غلط را قبول می کند. بیشتر از نوع داده منطقی، جهت ذخیره نتیجه مقایسه ها و کنترل روند اجرای برنامه بر اساس شرط ها استفاده می کنند.
  15. نوع داده object : نوع داده شئ یا Object، نوع داده ایست که در آن هر نوع مقداری چه رشته ای، چه عددی و چه منطقی قابل ذخیره است .

همونطورکهمیبینیدتنوعزیادیهست ( که 15 تا رو مثال زدیم )ومابستهبهنیازمونمیتونیمازهرکدومازانواعدادههاکهبخوایماستفادهکنیم . ( خیلینیازینیستکهجزئیاتانواعدادههاروحفظکنید واگه اسم و نوع مقدار هر کدوم رو بدونید کافیه ! )

بالا گفتیم که هر متغیر 3 بخش داره ( 1- نوع متغیر , 2- نام متغیر , 3- مقدار متغیر ) . حالا چندتا مثال میزنیم که بیشتر و بهتر باهاشون آشنا بشیم . مثال :

int a;
    a = 123;
int a2 = 321;

long b;
    b = 123;
int b2 = 321;

float c;
    c = 123;
float c2 = 321;

double d;
    d = 123;
double d2 = 321;

string text;
    text = "Hello World";
string text2 = "Hi Body :)";

char myChar;
    myChar = 'A';
char myChar2 = 'A';

bool Flag;
    Flag = false;
bool flag2 = true;

object x;
    x = "Hello . im object !! ";
object y = 123;
object z;
    z = 1394;

MessageBox.Show(z.ToString());
    z = "type cast !! :)";
MessageBox.Show(z.ToString());


خب همونطور که میبینید برای تعریف داده به شکل زیر عمل میکنیم :

DataTypeDataName ;
DataTypeDataName = Data;

بخش اول که نوع داده ای رو مینویسیم , بخش دوم اسم متغیر و بخش سوم مقدار رو مینویسیم ( اگه بخوایم همون موقع به متغیرمون مقدار بدیم ) .

همونطور که میبینید توی خطوط آخر ( از مثال تعریف متغیر ) چند تا متغیر از نوع object تعریف کردیم و هر بار یک مقداری به اونها دادیم . مثلا به متغیر z بار اول مقدار 1394 و بار دوم مقدار رشته ای "type cast" رو دادیم .

اگر کد بالا رو به شکلی که توی جلسه قبل توضیح دادم اجرا کنید , میبینید که بار اول مقدار 1394 رو نمایش میده و بار دوم جمله "type cast !! :)" رو نشون میده !

یعنی سی شارپ نوع داده ای متغیری که از نوع object تعریف شده رو بطور خودکار و بصورت هوشمند عوض میکنه و از نوع داده ای مقدار درون متغیر قرار میده ( فکر کنم یکم پیچیده شد ؟؟ :D )

برای نام گذاری متغیر توی سی شارپ , چند تا قانون کوچیک هست که حتما باید اونها رو رعایت کنید :

  1. نام متغیر تنها میتونه شامل حروف لاتین و اعداد و _ ( آندرلاین Underline ) باشه
  2. نام متغیر حتما باید با یکی از حروف لاتین ( چه کوچک و چه بزرگ ) و یا _ شروع بشه
  3. نام متغیر نباید تکراری باشه
  4. نام متغیر نباید از کلمات کلیدی سی شارپ باشه

چند تا نام مجاز :

Name , name , MyName , MyVar , var1 , var2 , _var3 , ___3var , _1 , _ و ......

چند تا نام غیرمجاز :

3name , 123 , 2_ , سلام , int , for , if , -name1 , name.1 , .var و .....

به عنوان تمرین , یک پروژه ایجاد کنید ( یا پروژه ای که جلسه قبل با هم ساختیم رو باز کنید ) و چند تا متغیر از نوع های مختلف تعریف کنید و بهشون مقدار بدید .

اگه خواستید متغیرهایی که تعریف کردید رو به کاربر نشون بدید , از متد show توی کلاس MessageBox ( قبلا مختصر توضیح دادم , بعدا کامل تر میگم ) استفاده کنید

فقط یک نکته خیلی , اونم اینکه برای نمایش محتوای یک متغیر ( به جز متغیر از نوع string ) حتما باید بعد از اینکه اسم متغیر رو نوشتید , از دستور .ToString() استفاده کنید

حتما هم نقطه قبل از ToString و پرانتز بعد از اون رو بذارید . مثال :

long z = 2015;

MessageBox.Show(z.ToString());

با این دستور , مقداری که توی یک متغیر از نوع های مختلف هست رو به یک رشته متن string تبدیل میکنیم و بعد به کاربر نمایش میدیم !

فکر میکنم برای این جلسه کافی باشه

اگر با سی شارپ آشنایی ندارید , حتما سعی کنید چیزایی که گفتم رو تمرین کنید و انواع متغیر ها رو بسازید !http://ilikephp.ir/admin/index.php?r=contentUpdate&id=99

چون بعدا خیلی مهم هست که بدونیم توی کد نویسی کدوم یکی از انواع داده ای رو نیاز داریم !

امیدوارم مفید بوده باشه !

آیکن دانلود دانلود PDF قسمت دوم آموزش سی شارپ C#

کانال تلگرام