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

خانه / آموزش / آموزش سی شارپ به زبان ساده
آموزش سی شارپ

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

برای یادگیریی در هر زبان دانستن چندین مطلب ضروری است. اول اینکه باید بدانیم یک نوع زبان چه نوع داده هایی را می پذیرد.

پس اولین مفهوم برای یادگیری هر زبان انواع داده های آن زبان است.

بعد ازشناخت انواع داده دومین مفهوم شناسه ها هستند.

شناسه ها کلماتی هستند که توسط برنامه نویس وارد برنامه میشوند که درنام متغیر، نام توابع، نام ساختارها و نام آرایه ها استفاد میشوند.

موردبعدی ازشناخت هر زبان عملگرهای مربوط به آن زبان است.

انواع داده ها درزبان سی شارپ:

قصد داریم خدمت شما عزیزان  به توضیح انواع داده‌ ها در زبان برنامه‌نویسی سی شارپ  که آموختن آن برای ورود به دنیای حرفه‌ای بسیار مهم است را ارائه دهیم.

در تمام زبان‌های برنامه‌نویسی انواع داده ها جهت ذخیره اطلاعات مورد استفاده قرار می‌گیرد.

حال برای اینکه بدانیم چه نوع داده‌ای را به چه صورت درون یک متغییر ذخیره کنیم نیاز داریم تا با انواع داده در زبان برنامه‌نویسی سی شارپ آشنا شویم.

همان طور که گفتیم  سی شارپ زبانی حساس به حروف میباشد وهمچنین  زبانی حساس به گونه های داده ای برای متغیرها است.

داده‌ها در زبان برنامه نویسی سی شارپ  در دو حالت ذخیره می‌شوند: ثابت و متغییر

داده‌های ثابت: 

به داده‌های گفته می‌شود که در طول اجرای برنامه همواره یک مقدار ثابت را در خود ذخیره می‌کنند.

داده‌ها متغییر: 

به داده‌هایی گفته می‌شود که در طول اجرای برنامه مقادیر مختلفی را می‌پذیرند.

نوع داده‌های ثابت و متغییر تعیین  کننده میزان اشغال فضا برای ذخیره سازی در سیستم هستند.

برای تعریف متغیر:

در زبان سی شارپ باید ابتدا نوع متغییر را نوشته و سپس عنوان متغییر را مینویسیم سپس یک علامت مساوی = قرار داده و در نهایت مقداری که می‌خواهیم درون متغییر ذخیره شود را بنویسیم.

انواع داده متغیر:

1_ byte:

این نوع داده‌ی عددی فضایی معادل ۸ بیت را اشغال می‌کند و اعداد صحیح مثبت بین ۰ تا ۲۵۵± را در خود جای می‌دهد.

2_ sbyte:

این نوع داده‌ی عددی فضایی معادل ۸ بیت را اشغال می‌کند و اعداد صحیح مثبت و منفی بین ۱۲۸- تا ۱۲۷ را در خود جای می‌دهد.

3_ short:

 این نوع داده عددی فضایی معادل ۱۶ بیت را اشغال کرده و اعداد صحیح مثبت و منفی در بازه‌ی بین ۳۲۷۶۸- تا ۳۲۷۶۷ را در خود ذخیره می‌کند.

4_ ushort:

 این نوع داده عددی فضایی معادل ۱۶ بیت را اشغال کرده و اعداد صحیح مثبت در بازه‌ی بین ۰ تا ۶۵۵۳۵± را در خود ذخیره می‌کند.

5_ int:

  این نوع داده عددی فضایی معادل ۳۲ بیت را اشغال کرده و اعداد صحیح مثبت و منفی در بازه‌ی بین ۲۱۴۷۴۸۳۶۴۸- تا ۲۱۴۷۴۸۳۶۴۸+ (حدود مثبت منفی ۲۰۰۰۰۰۰۰۰۰ دو میلیارد) را در خود ذخیره می‌کند.

6_ uint:

 این نوع داده عددی فضایی معادل ۳۲ بیت را اشغال کرده و اعداد صحیح مثبت در بازه‌ی بین ۰ تا ۴۲۹۴۹۶۷۲۹۵± (حدود ۴۰۰۰۰۰۰۰۰۰ چهار میلیارد) را در خود ذخیره می‌کند.

7_ long:

این نوع داده عددی فضایی معادل ۶۴ بیت را اشغال کرده و اعداد صحیح مثبت و منفی در بازه‌ی بین ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۸- تا ۹۲۲۳۳۷۲۰۳۶۸۵۴۷۷۵۸۰۷+ را در خود ذخیره می‌کند.

8_ ulong:

 این نوع داده عددی فضایی معادل ۶۴ بیت را اشغال کرده و اعداد صحیح مثبت در بازه‌ی بین ۰ تا ۱۸۴۴۶۷۴۴۰۷۳۷۰۹۵۵۱۶۱۵ را در خود ذخیره می‌کند.

9_ float:

این نوع داده‌ی عددی فضایی معادل ۳۲ بیت را اشغال کرده و اعداد اعشاری مثبت و منفی در بازه‌ی بین ۳.۴۰۲۸۲۳e۳۸- تا ۳.۴۰۲۸۲۳e۳۸- را درون خود ذخیره می‌کند.

هنگام استفاده ازاین نوع متغیرهنگام مقداردهی باید یککوچک در جاوی مقدار گذاشته شود.

10_ double:

 این نوع داده‌ی عددی فضایی معادل ۶۴ بیت را اشغال کرده و اعداد اعشاری مثبت و منفی در بازه‌ی بین ۱.۷۹۷۶۹۳۱۳۴۸۶۲۳۲e۳۰۸- تا ۱.۷۹۷۶۹۳۱۳۴۸۶۲۳۲e۳۰۸+ را درون خود ذخیره می‌کند. همچنین با استفاده از این نوع داده مقدار اعشاری به صورت اتوماتیک رند می‌شود.

11_ decimal:

 این نوع داده‌ی عددی فضایی معادل ۱۲۸ بیت را اشغال کرده و اعداد اعشاری مثبت و منفی در بازه‌ی بین  ۱۰e-۲ × ۱.۰ ± تا ۱۰e۲۸ × ۷.۹ ± را درون خود ذخیره می‌کند.

12_ char:

این نوع داده‌ی رشته‌ای فضایی معادل ۱۶ بیت را اشغال کرده و تمام کاراکترهای یونیکد را درون خود ذخیره می‌کند.

هنگام مقدار دهی مقدار را داخل  ‘  ‘ تک کتیشن قرار میدهیم.

13_ string:

 این نوع داده‌ی رشته‌ای مجموعه‌ای از کاراکترها را در خود ذخیره می‌کند و متناسب با آنها فضایی را اشغال خواهد کرد.

در هنگام مقدار دهی مقدار را داخل  ”  ” دابل کتیشن قرار میدهیم.

14_ bool:

 این نوع داده‌ی باینری فضایی معادل ۸ بیت را اشغال کرده و معمولا برای عبارتهای درست و غلط یا ۰ و ۱ مورد استفاده قرار می‌گیرد.

15_ object:

این نوع داده بر اساس مقداری که برابر آن قرار می‌گیرد نوع عددی، رشته‌ای یا باینری را می‌تواند در خود ذخیره کند. به عبارتی نوع داده object تمام مقادیر و عبارتها را می‌تواند در خود ذخیره کند.

تفاوت بین نوع داده‌ی float و double و decimal:

داده‌های عددیfloat و double معمولا برای اندازه گیری مقادیری که دقت در آنها معیار نیست مورد استفاده قرار می‌گیرند. مثلا فاصله، مسافت و … اما داده‌ی عددی decimal برای حالتی که دقت عددی مدنظر می‌باشد بکار گرفته خواهد شد مثل واحد پول، محاسبات حسابداری و…….

انواع داده ها-آموزش سی شارپ

عملگرها در زبان سی شارپ:

عملگرها در زبان برنامه‌نویسی به عنوان سمبل‌هایی هستند که به کامپایلر اطلاع می‌دهند عملیات ریاضیاتی خاصی را انجام دهد. زبان برنامه‌نویسی سی شارپ مجموعه‌ای از علمگرهای توکار (ساخته شده توسط خود زبان و شرکت ماکروسافت) را ارائه می‌دهد.

انواع عملگرها:

  • عملگرهای ریاضی
  • عملگرهای رابطه‌ای
  • عملگرهای منطقی
  • عملگرهای انتسابی
  • عملگرهای متفرقه

عملگرهای ریاضی:

  1. +      جمع
  2. –      تفریق
  3. *      ضرب
  4. /      تقسیم
  5. %     باقیمانده‌ی تقسیم
  6. ++   یک واحد افزایش
  7. – –    یک واحد کاهش

عملگرهای رابطه ای:

  1. = =      تساوی دو مقدار
  2. !=       عدم تساوی دو مقدار
  3.  >       بزرگتر  
  4.        کوچکتر 
  5. >=      بزرگترمساوی
  6. <=      کوچکتر مساوی

عملگرهای منطقی:

  1. &&    عملگر AND منطقی
  2. ||      عملگر OR منطقی
  3. ~     عملگر NOT منطقی
  4.      عملگر مخالف

عملگرهای انتسابی:

  1. =         تساوی
  2. +=       جمع تساوی 
  3. -=       تفریق تساوی
  4. *=       ضر ب تساوی
  5. /=       تقسیم تساوی
  6. %=      باقیمانده تساوی
  7. <<=    انتقال به چپ مساوی
  8. &=      دستور AND مساوی
  9. ^=      دستور XOR مساوی
  10. |=      دستور OR مساوی

عملگرهای متفرقه:

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

  1. ()sizeof      دستیابی به سایز یک داده
  2. ()type of    دستیابی به نوع یک داده
  3. &                دستیابی به آدرس یک متغیر
  4. *          اشاره به یک متغیر  
  5. ? :             عبارت شرطی IF
  6. is              مشخص کردن اینکه یک شیء شامل یک نوع خاص است یا نه

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

  • محاسباتی جمع تفریق  +  –  !  ~  ++  – – type) *  &  sizeof)
  • ضرب  و تقسیم         *  /  %
  • جمع و تفریق         +   –    
  •  رابطه‌ای           <   <=   >   >=
  • تساوی                 ==   !   =
  • AND                     &
  • XOR                 ^
  • OR                | 
  • AND منطقی         &&
  • OR منطقی         ||
  • شرطی                 ?:
  • انتسابی                 =  +=  -=  *=  /=  %=  >>=  <<=  &=   ^=   |= 
  • کاما                 ,

دستور چاپ در زبان سی شارپ:

متد() Write ازکلاس console

این متد چندین روش استفاده دارد که به بیان آنها میپردازیم:

1_ این متد نوشته میشود و داده را داخل  ” ”  قرار میدهیم.

2_ این متد نوشته میشود ونام یک متغیر را قرارمیدهیم.

3_ این متد نوشته میشود و یک مقدار غیر از رشته قرار میدهیم.

درگزینه های 1و3 داده دقیقا همانی است که ما در متد نوشته ایم لی در گزینه 2 باید قبل از تعریف متغیر دراین متد تعریف شده باشد ومقدار گرفته باشد.

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

روش  استفاده از متد برای گزینه1                                                                                                                                                 

;(“Console.Write(“Hello   

      روش استفاده از متد برای گزینه 2                                                                                                                                                                                

 ; int x  

                                                                                                                                                                                     ; x= 19

                                                                                                                                                                ;(Console.Write(x 

     روش استفاده از متد برای گزینه 3                                                                                                                                                              

; (Console.Write(23

نکته: 

  1. متدها در سی شارپ درجلوی آنها از پرانتز () استفاده میشود.
  2. وقتی میخواهیم از متدی استفاده کنیم باید کلاس آن وجود داشته باشد و همچنین زمانی که میخواهیم از کلاسی استفاده کنیم باید name space آن وجود داشته باشد.
  3. درهنگام استفاده از متدها باید بدانیم متد مورد استفاده دارای داده ورودی و خروجی است یا خیر همچنین نوع داده ورودی یا خروجی آن را باید بدانیم.

 معادل این متد متد ()write Line قرار دارد که تفاوت آن با متد ()write دراین است که متد ()write Line بعد ازچاپ به خط بعد میرود.

دستور خواندن اطلاعات ازورودی:

متد ()Read Line ازکلاس console

این متد ورودی ندارد و نوع داده خروجی آن string است یعنی هر موقع بخواهیم از کاربر رشته بگیریم ازاین متد استفاده میکنیم. 

دراستفاده ازاین متد باید منتظر بازگشت یک رشته ازسمت کاربر باشیم یعنی چون این متد دارای نوع داده خروجی رشته است به یک ظرف ازجنس رشته به منظور بازگشت داده ازسمت کاربر درنظر بگیریم.                                                                                                                                                                        

آموزش تبدیل نوع در سی شارپ(Type conversion)

 اساسا به معنی تبدیل یک نوع داده به دیگری است یعنی   دارای نوع داده های مختلفی است که گاهی بر حسب نیاز باید این نوع داده ها را به یکدیگر تبدیل کنیم.

این مبحث گاهی با نام Type Casting نیز شناخته میشود. در سی شارپ دو نوع تبدیل وجود دارد:

تبدیل مطلق یا التزامی :

این نوع از تبدیل توسط خود کامپایلر انجام میشود. برای مثال: تبدیل نوع داده ای کوچکتر به بزرگتر یا تبدیل کلاس های فرزند به کلاس های پایه.

تبدیل ساده :

این نوع از تبدیلات توسط خود کاربر و بوسیله توابع خاصی انجام میشود.

متدهای تبدیل در سی شارپ

تا اینجا  با مفهوم اولیه تبدیلات در زبان سی شارپ آشنا شدیم .

 دانستیم که متغیرها در واقع خانه ای از حافظه هستند و هنگامی که مقداری را به یک متغیر اختصاص میدهیم در واقع خانه های حافظه را برای ذخیره سازی استفاده کرده ایم..

هرکدام از این انواع متغیرها، مقدار متفاوتی را از خانه های حافظه اشغال میکند.

 بنابراین نوشتن برنامه ای که برای سخت افزار بهینه باشد نیازمند انتخاب متغیر های مناسب با نوع مقدار است. برای مثال اختصاص مقادیر کوچک برای متغیر های بزرگ مثل double یاint 64 کار اشتباهی است.

پس برای استفاده از تبدیلات درسی شارپ ازمتدی به نام convert استفاده میکنیم که این متد دارای کلاس هایی است.

کلاس های متد convert :

To Boolean : تبدیل نوع داده به نوع (Boolean (true or false

To Byte : تبدیل متغیر به بایت

To Char : تبدیل متغیر به یک تک کاراکتر

To Date Time : تبدیل متغیرهای String یا integer به ساختار تاریخ

To Double : تبدیل داده های اعشاری به ده دهی (بدون اعشار)

To Int : این نوع تبدیل دارای انواع ۱۶ و ۳۲ و ۶۴ است و بسته به بزرگی عدد از خانواده مناسب استفاده میشود. کوچکترین نوع این خانواده int 16 و بزرگترین int 64 است.

To String : تبدیل متغیر ها به رشته

برای درک بهتری از مطلب فوق به مثال زیر توجه کنید:

;(()int x=Convert.To Int 32(Console.Read Line

;(()int y=Convert.To Int 32(Console.Read Line

;(()int z=Convert.To Int 32(Console.Read Line

 

دراین مثال سه ورودی از جنس عدد ازکاربر گرفته شده است و همان طور که گفتیم متد()Read Line خروجی دریافت میکند پس برای دریافت خروجی آن باید ازظرف استفاده کنیم وچون دراینجا داده ما ازجنس عدد است ظرف دریافتی نیز باید ازجنس عدد باشد که ازint استفاده میکنیم.

نکته پایانی:

اگربخواهیم رشته دریافت کنیم ازمتد Read Line به تنهایی استفاده میکنیم مانند مثال زیر:

 ;()Console.Read Line = نام متغیر   string

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

;(()Convert.To Int 32(Console.Read Line = نام متغیر  int

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *