قبلا ذکر شد که کدهای ما قبل از اینکه آنها را اجرا کنیم، ابتدا به زبان میانی ترجمه می شوند. برای کامپایل برنامه از منوی Debug گزینه Build Solution را انتخاب کنید یا دکمه F6 را بر روی صفحه کلید فشار دهید. این کار همه پروژه های داخل solution را کامپایل می کند. برای کامپایل یک قسمت از solution به Solution Explorer رفته و بر روی آن قسمت راست کلیک کرده و از منوی باز شده گزینه build را انتخاب کنید. مانند شکل زیر :
اجرای برنامه
وقتی ما برنامه مان را اجرا می کنیم سی شارپ به صورت اتوماتیک کدهای ما را به زبان میانی کامپایل می کند. دو راه برای اجرای برنامه وجود دارد :
اجرای بدون اشکال زدایی برنامه، خطاهای برنامه را نادیده می گیرد. با اجرای برنامه در حالت Non-Debug سریعا برنامه اجرا می شود و شما با زدن یک دکمه از برنامه خارج می شوید. در حالت پیش فرض حالت Non-Debug مخفی است و برای استفاده از آن می توان از منوی Debug گزینه Start Without Debuging را انتخاب کرد یا از دکمه های ترکیبی Crl + F5 استفاده نمود:
Welcome to Visual C# Tutorials!
Press any key to continue . . .
به این نکته توجه کنید که پیغام …Press any key to continue جزء خروجی به حساب نمی آید و فقط نشان دهنده آن است که برنامه در حالت Non-Debug اجرا شده است و شما می توانید با زدن یک کلید از برنامه خارج شوید. دسترسی به حالت Debug Mode آسانتر است و به صورت پیشفرض برنامه ها در این حالت اجرا می شوند. از این حالت برای رفع خطاها و اشکال زدایی برنامه ها استفاده می شود که در درس های آینده توضیح خواهیم داد.
شما همچنین می توانید از Break Points و قسمت Help برنامه در مواقعی که با خطا مواجه می شوید استفاده کنید. برای اجرای برنامه با حالت Debug Mode میتوانید از منوی Debug گزینه Start Debugging را انتخاب کرده و یا دکمه F5 را فشار دهید. اگر از حالت Debug Mode استفاده کنید برنامه نمایش داده شده و فورا ناپدید می شود. برای جلوگیری از این اتفاق شما می توانید از کلاس و متد ()System.Console.ReadKey برای توقف برنامه و گرفتن ورودی از کاربر جهت خروج از برنامه استفاده کنید (درباره متدها در درس های آینده توضیح خواهیم داد).
حال برنامه را در حالت Debug Mode اجرا می کنیم. مشاهده می کنید که برنامه متوقف شده و از شما در خواست ورودی می کند، به سادگی و با زدن دکمه Enter از برنامه خارج شوید. من از حالت Non-Debug به این علت استفاده کرده ام تا نیازی به نوشتن کد اضافی ()Console.ReadKey نباشد. از این به بعد هر جا ذکر شد که برنامه را اجرا کنید برنامه را در حالت Non-Debug اجرا کنید. وقتی به مبحث استثناءها رسیدیم از حالت Debug استفاده می کنیم.
فضای نام (Namespace) در برگیرنده کدهایی است که شما در برنامه تان از آنها استفاده می کنید. در برنامه فوق ما یک فضای نام در برنامه مان با نام MyFirstProgram داریم، اما دات نت دارای هزاران فضای نام می باشد. یکی از این فضاهای نامی، فضای نام System است که شامل کدهایی است که در یک برنامه ابتدایی #C به کار میروند. کلآس Console که ما از آن در برنامه بالا استفاده کردیم در این فضای نام قرار دارد.
System.Console.WriteLine("Welcome to Visual C# Tutorials!");
System.Console.ReadKey();
اینکه قبل از استفاده از هر کلاس ابتدا فضای نام آن را مانند کد بالا بنویسیم کمی خسته کننده است. خوشبختانه داتنت به ما اجازه میدهد که برای جلوگیری از تکرار مکررات، فضاهای نامی را که قرار است در برنامه استفاده کنیم با استفاده از دستور using در ابتدای برنامه وارد نماییم :
using namespace;
دستور بالا نحوه وارد کردن یک فضای نام در برنامه را نشان می دهد. در نتیجه به جای آنکه به صورت زیر ابتدا نام فضای نام و سپس نام کلاس را بنویسیم :
System.Console.WriteLine("Hello World!");
می توانیم فضای نام را با دستوری که ذکر شد وارد برنامه کرده و کد بالا را به صورت خلاصه شده زیر بنویسیم :
Console.WriteLine("Hello World!");
دستورات using که باعث وارد شدن فضاهای نامی به برنامه میشوند عموما در ابتدای برنامه و قبل از همه کدها نوشته میشوند، پس برنامهی این درس را میتوان به صورت زیر نوشت :
هنگامی که یک برنامه در ویژوال استودیو ایجاد میکنید، اگر وجود برخی از فضاهای نام الزامی نباشد، ویژوال استودیو 2019 آنها را به صورت کم رنگ نمایش میدهد، و شما میتوانید بدون هیچ مشکلی این فضاهای نام را پاک کنید:
در نسخههای قبلی ویژوال استودیو هم برای پاک کردن فضاهای نام غیر قابل استفاده، ابتدا بر روی یکی از آنها راست کلیک کرده و سپس بر روی Remove and Sort Usings کلیک کنید:
اگر از کلاسی استفاده کنید که از قبل فضای نام مربوط به آن را وارد برنامه نکرده باشید در زیر آن کلاس خط قرمز کشیده میشود :
برای رفع این مشکل، اگر از قبل نام فضای مربوطه را بلد باشید که باید آن را در قسمت فضای نام وارد کنید. در غیر اینصورت، بر روی نام کلاس با ماوس کمی مکث کنید تا یک پنجره popup ظاهر شده و آن را به شما معرفی کند :
در این صورت با کلیک بر روی آن، ویژوال استودیو به طور خودکار فضای نام را وارد برنامه میکند:
در مورد فضای نام در درس های آینده بیشتر توضیح می دهیم. حال که با خصوصیات و ساختار اولیه سی شارپ آشنا شدید در درس های آینده مطالب بیشتری از این زبان برنامه نویسی قدرتمند خواهید آموخت.