سه شنبه ۲۷ شهريور ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش سی شارپ - نحوه نگارش پایه

سی شارپ یک زبان برنامه نویسی شی گرا است. در روش برنامه نویسی شی گرا، یک برنامه از اشیاء (objects) مختلفی تشکیل شده است که از طریق کنش هایی با یکدیگر تعامل دارند. اقداماتی که ممکن است یک شی(object) انجام دهد متد(method) نامیده می شود.  اشیایی از یک نوع هستند که از یک کلاس ایجاد شده باشند

برای مثال، اجازه دهید یک شی Rectangle را در نظر بگیریم. ای شی دارای ویژگی هایی مانند طول و عرض است. بسته به طرح، ممکن است به متد هایی برای پذیرش مقادیر این ویژگی ها، محاسبه مساحت و نمایش جزئیات نیاز داشته باشد.

اجازه دهید به پیاده‌سازی کلاس Rectangle نگاهی بیندازیم و سینتکس(نحوه نگارش) پایه C# را مورد بحث قرار دهیم

using System;

namespace RectangleApplication {
   class Rectangle {
      
      // member variables
      double length;
      double width;
      
      public void Acceptdetails() {
         length = 4.5;    
         width = 3.5;
      }
      public double GetArea() {
         return length * width; 
      }
      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   }
   class ExecuteRectangle {
      static void Main(string[] args) {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine(); 
      }
   }
}

هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه زیر را ایجاد می کند -

Length: 4.5
Width: 3.5
Area: 15.75

کلمه کلیدی using

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

using System;

کلمه کلیدی using برای گنجاندن فضاهای نام در برنامه استفاده می شود. یک برنامه می تواند شامل چندین دستور using باشد.

کلمه کلیدی کلاس

کلمه کلیدی class برای اعلان کلاس استفاده می شود.

نظرات (comments) در سی شارپ

نظرات برای توضیح کد استفاده می شود. کامپایلرها ورودی های نظر را نادیده می گیرند. نظرات چند خطی در برنامه های سی شارپ با */ شروع می شود و با کاراکترهای /* خاتمه می یابد همانطور که در زیر نشان داده شده است -

/* This program demonstrates
The basic syntax of C# programming 
Language */

نظرات تک خطی با نماد '//' نشان داده می شوند. مثلا،

}//end class Rectangle    

متغیرها

متغیرها ویژگی ها یا اعضای داده یک کلاس هستند که برای ذخیره داده ها استفاده می شوند. در برنامه قبلی، کلاس Rectangle دارای دو متغیر عضو به نام‌های طول (length) و عرض (width) است .

توابع 

توابع مجموعه ای از عبارات هستند که وظیفه خاصی را انجام می دهند. توابع عضو یک کلاس در داخل کلاس اعلان می شوند. کلاس نمونه ما Rectangle شامل سه تابع عضو است: AcceptDetails ، GetArea و Display .

نمونه سازی از یک کلاس

در برنامه قبلی، کلاس ExecuteRectangle حاوی متد Main() است و کلاس Rectangle را نمونه سازی می کند .

شناسه ها

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

  • نام باید با حرفی شروع شود که می تواند دنباله ای از حروف، اعداد (0 - 9) یا زیرخط به دنبال آن باشد. اولین کاراکتر در یک شناسه نمی تواند یک رقم باشد.

  • نباید دارای هیچ فضای تعبیه شده یا نمادی مانند؟ - + ! @ # % ^ & * ( ) [ ] { } . ; : " ' / و \. با این حال، می توان از زیرخط ( _ ) استفاده کرد.

  • نباید یک کلمه کلیدی سی شارپ باشد.

کلمات کلیدی سی شارپ

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

در سی شارپ، برخی از شناسه ها در متن کد دارای معنای خاصی هستند، مانند get و set که کلمات کلیدی محتوایی نامیده می شوند.

جدول زیر کلمات کلیدی رزرو شده و کلمات محتوایی متنی در سی شارپ - را فهرست می کند

کلمات کلیدی رزرو شده
abstract as base bool break byte case
catch char checked class const continue decimal
default delegate do double else enum event
explicit extern false finally fixed float for
foreach goto if implicit in in (generic modifier) int
interface internal is lock long namespace new
null object operator out out (generic modifier) override params
private protected public readonly ref return sbyte
sealed short sizeof stackalloc static string struct
switch this throw true try typeof uint
ulong unchecked unsafe ushort using virtual void
volatile while          
کلمات کلیدی محتوایی
add alias ascending descending dynamic from get
global group into join let orderby partial (type)
partial
(method)
remove select set