آموزش قواعد نوشتاری(سینتکس) در سی شارپ

Ratings
(0)

 

 شکل و شمایل کدهای سی شارپ مشابه با کدهای ++C و جاوا است. این سینتکس در ابتدا بسیار گیج کننده است. اما همان طور که ما در دریای برنامه نویسی سی شارپ غوطه ور می شویم، متوجه می شویم که استایل به کار رفته، مناسب و منطقی است و این امکان وجود دارد تا بدون هیچ زحمت زیادی، کدهای خواناتری بنویسیم.

کامپایلرهای زبان سی شارپ، برخلاف کامپایلرهای دیگر زبان ها، مانند پایتون، فاصله های اضافی را در کدها نادیده می گیرند؛ خواه این فاصله از Space یا carriage return یا کاراکترهای Tab ایجاد شده باشد. (که به صورت دسته جمعی، کاراکترهای فاصله سفید نامیده می شوند). این یعنی ما آزادی زیادی در فرمت نوشتن کدهای خود داریم، اما پیروی کردن از برخی قوانین باعث خوانایی کدهای ما می شود.

کدهای سی شارپ از یک سری دستور(statement) تشکیل شده اند که هریک از آنها با یک سمی کالن خاتمه می یابند. به دلیل اینکه فاصله ها در سی شارپ نادیده گرفته می شوند، می توانیم در یک خط، از چند دستور استفاده کنیم؛ اما معمولاً برای ایجاد خوانایی بیشتر، پس از سمی کالن ها یک کاراکتر تعویض سطر(carriage return) قرار می دهیم تا از قرار گرفتن چند دستور در یک خط جلوگیری شود. این کاملاً قابل قبول است اما برای دستوراتی که چندین خط کد را دربر می گیرند مورد استفاده قرار می گیرد.

 سی شارپ یک زبان با ساختار بلوکی است؛ یعنی اینکه دستورات در سی شارپ در داخل یک بلوک(block) قرار می گیرند. این بلوک ها که با یک جفت آکولاد ({ }) مشخص می شوند، می توانند هر تعداد دستور را خود قرار دهند و یا اینکه حاوی هیچ دستوری نباشند.

توجه کنید که لازم نیست به همراه آکولادها از سمی کالن ها استفاده کنیم. بعنوان مثال، یک بلوک کد سی شارپ می تواند به صورت زیر باشد:

مثال شماره 1

{
  <code line 1, statement 1>;
  <code line 2, statement 2>
     <code line 3, statement 2>;
}

در مثال بالا، بخش های  <code line x, statement y> کد سی شارپ نیستند، بلکه مکانی برای قرار گرفتن کدهای سی شارپ هستند. در مثال بالا، عبارات قرار گرفته در خط شماره 3 و 4، یک دستور محسوب می شوند، زیرا پس از خط شماره سه، هیچ سمی کالنی قرار نگرفته است. تو رفتگی خط شماره 4، تشخیص اینکه این خط، ادامه ی خط شماره 3 است را ساده تر می کند.

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

{
<code line 1>;
  {
    <code line 2>;
    <code line 3>;
  }
<code line 4>;
}

 علاوه بر این، خط کدهایی که ادامه ی خط های قبلی هستند نیز معمولاً دچار تو رفتگی می شوند، مانند مثال شماره 1 در ابتدای این مقاله.


نکته: به جعبه مکالمه Visual Studio Options ( که در آدرس Tools ➪ Options قرار دارد) نگاهی بیاندازید تا قواعدی که ویژوال استودیو برای فرمت دهی کدها مورد استفاده قرار می دهد را مشاهده کنید. در آدرس زیر در تنظیمات ویژوال استودیو می توانیم به تعداد زیادی از این قواعد دسترسی پیدا کنیم:

Text Editor ➪ C# ➪ Code Style ➪ Formatting 

اکثر این تنظیمات، به بخش هایی از سی شارپ مربوط می شوند که هنوز توضیح داده نشده اند، اما ممکن است شما بخواهید بعداً به این تنظیمات برگردید و استایل های شخصی خود را بهبود ببخشید. برای وضوح بیشتر، این کتاب تمام قطعات کد را همانطور که با تنظیمات پیش‌فرض فرمت دهی می‌شوند نشان می‌دهد.


البته این سبک به هیچ وجه اجباری نیست. اگر شما از روش های مذکور استفاده نکنید، فوری متوجه خواهید شد که با جلو رفتن در این کتاب، همه چیز پیچیده تر خواهد شد. 


کامنت ها(comment) نیز مفاهیمی دیگر در کدنویسی سی شارپ هستند. کامنت ها به ما امکان می دهند تا توضیحاتی را به کدهای خود اضافه کنیم. این توضیحات توسط کامپایلر نادیده گرفته می شوند. وقتی که با کدهای طولانی کار می کنیم، خوب است که توضیحاتی را در مورد کدها اضافه کنیم. به این توضیحات کامنت گفته می شود. در سی شارپ، دو روش برای ایجاد کامنت ها وجود دارد.

 روش اول به این صورت است که علامت هایی را در ابتدا و انتهای یک متن قرار می دهیم و تمام این متن به صورت کامنت در نظر گرفته می شوند. و روش دوم به این صورت است که یک علامت را در ابتدای یک خط قرار می دهیم و تمام متن درون این خط به صورت یک کامنت در نظر گرفته می شود.

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

/* This is a comment */
/* And so. . .
. . . is this! */

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

/* Comments often end with "*/" characters */

 عبارت /* در انتهای کد بالا، به صورت کدهای سی شارپ در نظر گرفته می شود و باعث ایجاد خطا می شود.


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

// This is a different sort of comment.

 اما کد زیر با شکست مواجه می شود، زیرا خط دوم به صورت کدهای سی شارپ تفسیر خواهد شد:

// So is this,
but this bit isn't.

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

<A statement>; // Explanation of statement

قبلاً گفتیم که برای کامنت گذاری دو روش وجود دارد؛ اما یک روش سوم نیز در سی شارپ برای کامنت گذاری وجود دارد. اگرچه این روش از سینتکس // توسعه یافته است. ما می توانیم از کامنت های تک خطی در سی شارپ، با استفاده از سه علامت اسلش(/) به صورت زیر استفاده کنیم:

/// A special comment

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


یک نکته مهم در مورد کدهای سی شارپ این است که این کدها به حروف بزرگ و کوچک حساس هستند.بعنوان مثال، کدهای زیر که از فصل 2 گرفته شده اند را در نظر بگیرید:

Console.WriteLine("The first app in Beginning C# Programming!");

 این کد توسط کامپایلر سی شارپ درک می شود. زیرا دستور Console.WriteLine() صحیح است. اما هیچ یک از کدهای زیر به درستی کار نمی کنند:

console.WriteLine("The first app in Beginning C# Programming!");
CONSOLE.WRITELINE("The first app in Beginning C# Programming!");
Console.Writeline("The first app in Beginning C# Programming!");

کدهای بالا خطا ایجاد می کنند و کامپایلر سی شارپ آنها را متوجه نمی شود. خوشبختانه همان طور که ما در سی شارپ کدها را تایپ می کنیم، فرمان ها حدس زده می شوند و به کاربر پیشنهاد داده می شوند.

 

کتاب آموزش سی شارپ, آموزش برنامه نویسی, آموزش سی شارپ

  • بازدید: 678

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال