سی شارپ - ساختار یا سینتکس اولیه

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

برای مثال مستطیل را یک شی درنظر بگیرید که ویژگی هایی مانند طول و عرض دارد. که این شی برا اساس نوع طراحی آن، راه هایی برای دریافت این خصوصیت ها، محاسبه ی مساحت و نمایش جزییات دارد

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

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 برای اضافه کردن فضای نام به برنامه استتفاده می شود . یک برنامه می تواند چدین بار از این کلمه استفاده کرده باشد

کلمه کلیدی class

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

توضیحات در سی شارپ

کامنت ها در سی شارپ برای اضافه کردن توضیحات به کد استفاده می شوند.

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

با استفاده از // می توان یک خط را کامنت گذاری کرد، برای مثال:

}//end class Rectangle    

متغیر های عضو

متغیر های اجزایی از یک کلاس هستند، که برای ذخیره کردن اطلاعات استفاده می شوند. برنامه ی مورد بحث، کلاس Rectangle ، دو متغیر عضو به نام های length و width دارد

توابع عضو

توابع مجموعه ای از عبارتهای دستور هستند که یک عملیات را انجام می دهند.تایع عضو یک کلاس در همان کلاس تعریف می شود.کلاس مثال ما شامل سه تایع عضور هست: 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