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

در کد بالا، خط 7 یک توضیح درباره خط 8 است که به کاربر اعلم میکند که وظیفه خط 8 چیست؟ با اجرای کد بالا فقط جمله Hello World چاپ شده و خط 7 در خروجی نمایش داده نمیشود چون کامپایلر توضیحات را نادیده می گیرد. توضیحات بر سه نوع اند :

توضیحات تک خطی همانگونه که از نامش پیداست، برای توضیحاتی در حد یک خط به کار می روند. این توضیحات با علامت // شروع میشوند و هر نوشتهای که در سمت راست آن قرار بگیرد جزء توضیحات به حساب میآید. این نوع توضیحات معمولا در بالا یا کنار کد قرار میگیرند. اگر توضیح در باره یک کد به بیش از یک خط نیاز باشد از توضیحات چند خطی استفاده میشود. توضیحات چند خطی با ( /* ) شروع و با( /* ) پایان می یابند. هر نوشته ای که بین این دو علامت قرار بگیرد جزء توضیحات محسوب میشود. نوع دیگری از توضیحات، توضیحات XML نامیده میشوند. این نوع با سه اسلش ( /// ) نشان داده میشوند. از این نوع برای مستند سازی برنامه استفاده میشود و در درس های آینده در مورد آنها توضیح خواهیم داد.
کاراکترهای کنترلی، کاراکترهای ترکیبی هستند که با یک بک اسلش (\) شروع میشوند و به دنبال آنها یک حرف یا عدد میآید و یک رشته را با فرمت خاص نمایش میدهند. برای مثال برای ایجاد یک خط جدید و قرار دادن رشته در آن میتوان از کاراکتر کنترلی n\ استفاده کرد:
System.Console.WriteLine("Hello\nWorld!");
کد بالا این متن را نمایش می دهد:
Hello
World!
مشاهده کردید که کامپایلر بعد از مواجهه با کاراکتر کنترلی n\ نشانگر ماوس را به خط بعد برده و بقیه رشته را در خط بعد نمایش میدهد. متد ()WriteLine هم مانند کاراکتر کنترلی n\ یک خط جدید ایجاد میکند، البته بدین صورت که در انتهای رشته یک کاراکتر کنترلی n\ اضافه میکند:
System.Console.WriteLine("Hello World!");
کد بالا و کد زیر هیچ فرقی با هم ندارند:
System.Console.Write("Hello World!\n");
متد ()Write کارکردی شبیه به ()WriteLine دارد با این تفاوت که نشان گر ماوس را در همان خط نگه می دارد و خط جدید ایجاد نمیکند. جدول زیر لیست کاراکترهای کنترلی و کارکرد آنها را نشان میدهد:

ما برای استفاده از کاراکترهای کنترلی از بک اسلش (\) استفاده می کنیم. از آنجاییکه علامت \ معنای خاصی به رشته ها میدهد، برای چاپ بک اسلش (\) باید از (\\) استفاده کنیم:
System.Console.WriteLine("We can print a \\ by using the \\\\ escape sequence.");
We can print a \ by using the \\ escape sequence.
یکی از موارد استفاده از \\، نشان دادن مسیر یک فایل در ویندوز است:
System.Console.WriteLine("C:\\Program Files\\Some Directory\\SomeFile.txt");
C:\Program Files\Some Directory\SomeFile.txt
از آنجاییکه از دابل کوتیشن (") برای نشان دادن رشته ها استفاده می کنیم، برای چاپ آن از "\ استفاده می کنیم:
System.Console.WriteLine("I said, \"Motivate yourself!\".");
I said, "Motivate yourself!".
همچنین برای چاپ کوتیشن (‘) از ‘\ استفاده می کنیم:
System.Console.WriteLine("The programmer\'s heaven.");
The programmer's heaven.
برای ایجاد فاصله بین حروف یا کلمات از t\ استفاده میشود:
System.Console.WriteLine("Left\tRight");
Left Right
هر تعداد کاراکتر که بعد از کاراکتر کنترلی r\ بیایند به اول سطر منتقل و جایگزین کاراکترهای موجود میشوند:
System.Console.WriteLine("Mitten\rK");
Kitten
مثلا در مثال بالا کاراکتر K بعد از کاراکتر کنترلی r\ آمده است. کاراکتر کنترلی، حرف K را به ابتدای سطر برده و جایگزین حرف M میکند.
برای چاپ کاراکترهای یونیکد میتوان از u\ استفاده کرد. برای استفاده از u\، مقدار در مبنای 16کاراکتر را درست بعد از علمت u\ قرار می دهیم. برای مثال اگر بخواهیم علامت کپی رایت (©) را چاپ کنیم باید بعد از علمت u\ مقدار A900 را قرار دهیم مانند:
System.Console.WriteLine("\u00A9");
©
برای مشاهده لیست مقادیر مبنای 16 برای کاراکترهای یونیکد به لینک زیر مراجعه نمایید:
http://www.ascii.cl/htmlcodes.htm
اگر کامپایلر به یک کاراکتر کنترلی غیر مجاز برخورد کند، برنامه پیغام خطا میدهد. بیشترین خطا زمانی اتفاق می افتد که برنامه نویس برای چاپ اسلش (\) از \\ استفاده میکند.