آموزش سی‌شارپ C# – بخش 3

آموزش سی‌شارپ C# – بخش 3
  • 1391/10/4
  • Jeff Mosawy
  • 30
  • مقدمه:

به نام خدا؛

طبق عادت، آموزش بخش سوم از زبان برنامه‌نویسی سی‌شارپ نیز آماده شده است و در اختیار شما عزیزان می‌باشد. در دو بخش پیشین، شما با نحوه کارکردن ساده با نرم‌افزار Visual Studio را فراگرفتید و اکنون می‌دانید که چگونه می‌توان یک پروژه‌ای را ساخت و آن را ذخیره نمود.

در این بخش نیز، ما شروع به نوشتن اولین خط کد خواهیم پرداخت. پس با ما همراه باشید و با یک “یاعلی” شروع می‌کنیم.

  • شروع به نوشتن اولین خط کد سی‌شارپ

اگر در آموزش شماره ۱ به‌خاطر داشته باشید، گفتیم که یکی از راه‌های نمایش اطلاعات برنامه‌نویسی شده از طریق پنجره‌ای به نام Console می‌باشد. پنجره‌ای که شبیه به سیستم‌عامل DOS کوچک‌شده می‌باشد  و شما با اجرای نرم‌افزار CMD می‌توانستید یک نمونه از آن را ببینید.

در این بخش نیز برای شروع به‌کار، ابتدا یک پروژه‌ای را ایجاد کرده و با انتخاب نوع Console Application در مراحل ساخت پروژه، صفحه‌ای همانند نیز برای شما نمایان خواهد شد که دارای خطوطی از کدها می‌باشد. این‌ها کدهایی هستند که سی‌شارپ به آن‌ها نیاز دارد تا این‌که برنامه شما را اجرا کند. لذا شما نباید به این کدها دستی بزنید و یا قسمتی از آن را حذف کنید. (در آینده خواهید توانست بعضی از بخش‌های آن را که اضافی‌ست حذف نمایید)

در ۵ سطر اول از کدها (ممکن است در پیش شما تعداد آن‌ها کمتر باشد!)، شما مشاهده می‌کنید که خطوط با استفاده از کلمه‌ی کلیدی using شروع شده‌اند. فعلاً این خط‌ها را نادیده بگیرید تا بعداً، زمانی که به یک مرحله مشخص رسیدید، بیشتر درباره‌ی آن‌ها صحبت کنیم.

در خطی که با namespace شروع شده‌است، نام برنامه‌ی شما را مشخص می‌کند. یک namespace روشی است که کدهای مربوط به هم را به یک‌دیگر ارتباط دهد. فعلاً به‌هیچ‌وجه نگران این خط از کدها نباشید؛ چرا که در آینده همه این‌ها را فرا خواهید گرفت.

مهم‌ترین چیزی که در این کدها می‌توان یافت، کلمه کلیدی class می‌باشد. تمامی کدهایی که در سی‌شارپ می‌نویسید (و خواهید نوشت)، باید عضوی از یک class باشد. این class با نام program می‌باشد. شما کلاس‌های دیگری را زمانی که می‌نویسید، می‌توانید به آن‌ها هرنامی را که دلتان بخواهد اعطا کنید؛ اما توجه داشته باشید نامی را که انتخاب می‌کنید، نباید جزو کلمات رزرو شده‌ی زبان سی‌شارپ باشد.

در داخل class program، کدهای زیر موجود است:

static void Main(string[] args)

{

 

}

این بخش از کد را متد (method) می‌نامند! نام این متد (method)، Main می‌باشد. هنگامی که شما با زبان سی‌شارپ برنامه‌ای را می‌نویسید، کامپایلر شروع به یافتن متد Main می‌کند. سی‌شارپ از متد Main به عنوان محرک و آغازگر زبان استفاده می‌کند و عدم وجود این متد، باعث می‌شود که برنامه شما اجرا نشود! هر کدی که در میان دو براکت (منظورم را با پرانتز اشتباه نگیرید!) قرار گیرد، در زمان اجرای برنامه، اجرا می‌شوند.

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

اکنون، نشانگر موس را بعد از براکت باز قرار داده و با فشردن کلید Enter، به خط بعدی رفته تا اولین خط از کد را بنویسید. با فشردن کلید Enter، بصورت اتوماتیک سرخط شما یک tab به سمت جلو خواهد رفت. این باعث می‌شود که خواندن و نوشتن کدها برای شما راحت‌تر باشد.

اگر در کد بالا دقت کنید، متوجه خواهید شد که هر بخش از کد در داخل یک جفت براکت قرار دارد. جا انداختن هر کدام از آن‌ها، باعث خواهد شد که با یک خطا (Error) مواجه خواهید شد.

تک خطی که فعلاً خواهیم نوشت، تنها خط زیر است:

Console.WriteLine(“Hello C Sharp!”);

قبل از آن‌که چیزی را تایپ کنید، ابتدا تنها حرف C را تایپ کنید. خواهید دید که یک منو به‌صورت اتوماتیک برای شما باز خواهد شد. این منو را اصطلاحاً IntelliSense می‌نامند. این منو به‌صورت هوشمندانه سعی ‌میکند که کلمات کلیدی‌ای که می‌خواهید بنویسید را تشخیص دهد تا کار شما، برنامه‌نویس را راحت‌تر کند.

وقتی که منوی بالا برای شما باز می‌شود، در کنار نام Console، آیکون خاصی وجود دارد. هر کلمه‌ی کلیدی‌ای با این آیکون، نشان‌گر یک Class است. الان با فشردن کلید Enter، بگذارید که Visual Studio بصورت اتوماتیک برای شما کلمه Console را بنویسید.

اکنون یک نقطه قرار دهید؛ منوی IntelliSense مجدداً ظاهر می‌شود. شما می‌توانید با کلیدهای بالا/پایین در این منو جابه‌جا شوید. اما شما به آرامی و حرف به حرف شروع به تایپ حروف کلمه‌ی Write کنید؛ خواهید دید که با حرفی که جلو بروید، IntelliSense دقتش بالاتر رفته و میزان تشخیص کلمه‌ی مورد نظر بالاتر می‌رود. حال شما به دنبال کلمه WriteLine بگردید. (و یا آن را به‌صورت کامل تایپ کنید)

حال یک پرانتز باز کنید؛ تصویری مشابه تصویر زیر برای شما باز خواهد شد.

WriteLine، یکی دیگر از متدهای موجود در زبان سی‌شارپ می‌باشد. جعبه زرد رنگی که برای شما نمایش داده می‌شود، نشان‌دهنده‌ی این است که ۱۹ ورژن مختلف از این متد در سی‌شارپ وجود دارد. شما فعلاً خط زیر را وارد کنید:

“Hello C Sharp!”

فراموش نکنید که دو علامت “Double Quotes” (نقل قول) را در ابتدا و انتهای Hello C Sharp! قرار دهید. قرار دادن Double Quotes به سی‌شارپ این فرمان را می‌دهد که شما یک متن می‌خواهید؛ نه یک کد! بعد از وارد کدهای بالا، می‌بایست که شکل و شمایل کدهای شما شبیه به زیر شده باشد!

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

قوانینی که در زبان برنامه‌نویسی سی‌شارپ وجود دارد (که شبیه آن در زبان های C++ و یا PHP نیز دیده می‌شود) انتهای هر کد می‌بایست یک “Semicolon” یعنی “;” قرار دهید. با قرار دادن آن در انتهای کد خود، خط قرمز رنگ ناپدید می‌شود. الان زمان آن رسیده که کد خود را اجرا کنید …

قبل از آنکه برنامه‌ی خود را اجرا کنید، باید چندکار را پیش از آن انجام دهید:

  • از منوی بالا بر روی View کلیک کنید، بر روی Output کلیک کنید. (اگر که گزینه Output را در منوی View ندید، با رفتن به گزینه Tools و سپس با رفتن به Settings و بعد از آن Expert Settings، می‌بایست که Output را ببینید.)
  • از منوی Build بر روی Build Express کلیک کنید.
  • شما می‌بایست که یک گزارشی شبیه به گزارش پایین ببینید.

آخرین خط می‌بایست که متن زیر را ببینید:

Build: 1 succeeded or up-to-date, 0 failed, 0 skipped

این خط نشان‌دهنده‌ی این است که همه چیز به‌صورت درست انجام شده و برنامه آماده کامپایل شدن می‌باشد.

حال مراحل زیر را تست کنید:

  • Semicolon-ای که در انتهای کد خود اضافه کردید را حذف کنید.
  • از منوی بالا بر روی Build کلیک کرده و سپس بر روی Build Solution کلیک کنید.

این بار خواهید دید که در گزارش زیر خطاهای زیر را مشاهده خواهید کرد:

Compile complete – 1 errors, 0 warnings

Build: 0 succeeded or up-to-date, 1 failed, 0 skipped

این خط به شما این پیغام را می‌دهد که برنامه نتوانست ساخته شود چون یک خطایی در کدهای شما وجود دارد. حال دوباره همان Semicolon را برگردانید.

از منوی بالا بر روی Debug کلیک کنید؛ در منوی باز شده بر روی Start Debugging کلیک کرده و آن را انتخاب کنید.

پنجره‌ي Console بر شما پدیدار خواهد شد؛‌ زود هم ناپدید می‌شود! فعلاً برای جلوگیری از این مشکل، از منوی Debug، گزینه Start Without Debugging را انتخاب کنید. پنجره‌ی زیر را خواهید دید.

برنامه‌ی شما اجرا شد! جمله‌ی Hello C Sharp را خواهید دید!

تا اینجا این جلسه را متوقف خواهیم کرد. از جلسه بعد، طبق قولی که از قبل دادیم، بر روی Windows Application کار خواهیم کرد.

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

دیدگاه خود را وارد کنید
تعداد دیدگاه ها : 30 دیدگاه
  1. سلام
    واقعا ممنون که این آموزشو شروع کردین
    امیودوارم تا اخرش ادامه بدید
    من خیلی بهش نیاز دارم
    ممنون

    1. خواهش می‌کنم. البته شاید یکمی این آموزش‌ها دیر به دیر گذاشته بشه چونکه بنده دانشجو هستم و امتحانات هم شروع شده، اما انشاءالله که تا آخر (البته برنامه‌نویسی که آخر نداره) پیش می‌ریم.

      موفق باشید!

  2. آقا دمتون گرم
    من تا الان با آموزش شما پیش رفتم
    لطفا هرچه زودتر آموزش بعدی رو هم بزارید
    راستی من الان دارم با ورژن 2010 کار میکنم و ورژن 2012 رو هم تازه گرفتم
    بنظرتون اون رو نصب کنم ؟

    1. سلام دوست عزیزم،

      من تمامی سعی‌ام را می‌کنم که تند و سریع آموزش‌ها را آماده کنم، اما در حال حاضر در شرایط زمانی بدی قرار گرفتم؛ کار و امتحان همزمان دارم و شاید یکمی دیر به دیر آماده بشه آموزش‌ها. اما چشم، تمامی سعی‌ام را خواهم کرد.
      در رابطه با Visual Studio هم مشکلی نداره. شاید بعضی چیزها مکان‌هاشون فرق کرده که مجبور می‌شید یکمی بگردید تا پیدا کنید. اما من سعی می‌کنم با ورژن ۲۰۱۰ که فعلا متداول‌تر هست آموزش‌ها رو بنویسم.

  3. سلام و ممنون از آموزش عالیتون
    من میخواسم ببینم از کجا میتونم line number کناره خط کد رو فعال کنم ؟؟؟
    ورژن 2010 رو دارم. ممنون

    1. سلام دوست عزیزم،

      شما بعد از اینکه Visual Studio 2010 رو که باز می‌کنید، از اون بالا روی Tools کلیک کنید و بعدش Options رو انتخاب کنید. پنجره‌ای که باز می‌شه، مسیرهای زیر رو به ترتیب پیش برید:
      ۱٫ Text Editor
      ۲٫ C#
      ۳٫ General

      توی بخش سمت راست شما، توی گروه Display، اولین گزینه با نام Line Numbers مشخص شده؛ اون رو فعال کنید و Line Number برای شما نشان داده‌خواهد شد.

      موفق باشید!

  4. بسم الله الرحمن الرحیم

    با سلام خدمت آقا سید گل خودمون

    راستش داداش من هر کاری کردم نتونستم برنامه رو اجرا کنم و در بدو دیباگینگ کردن فوری پنجره ی کنسول ، نا پدید میشه (یعنی کامل اجرا نمیشه)

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

    البته این نکته رو خدمتت بگم داداش ، که از تب Build من گزینه ی Build Express رو نمیبینم ؛ چرا؟

    موفق و مؤید باشی

    یا علی مدد

    1. سلام دوست عزیزم،

      مشکل شما را متوجه هستم. ما چونکه داریم با محیط کنسول کار می‌کنیم، به‌خاطر همین زود می‌پره بیرون. خودش یک خط دستور اضافی می‌خواد که این اتفاق نیوفه! پس به‌خاطر همین کاملاً طبیعی هست و آموزش رو ادامه بدید. یادتون نره مشکلی، ایرادی یا هرچیزی که دیدید حتماً خبرم کنید.

      موفق باشید!

  5. سلام
    من وقتی debug رو میزنم اصلا برنامه cmd رو نمیاره، لطفا بگین اشکال از کجاست؟

    1. دوست عزیز سلام،

      دقت کنید که نباید بر روی Debug خالی کلیک کنید. باید گزینه Start without Debugging را انتخاب کنید

  6. با سلام و خسته نباشید

    میخواستم کدی که باید نوشته بشه تا پنجره کنسول سریع ناپدید نشه رو بگید لطفا

    تا بشه با start debugging
    خروجی دیده بشه

    متشکرم

  7. سلام خسته نباشید..ممنونم بابت اموزشه عالیتون…
    دو تا سوال داشتم ..اولی اینکه از writeline چ زمانی باید استفاده کرد؟زمانی ک بخوایم ی متنو نشون بده؟دوم اینکه من ستینگو تو بخشه تولز نمیبینم کجا میتونم پیداش کنم…اوت پوت هست ولی میخوام بدونم…ممنونت میشم ج بدی..در ضمن من build solution رو داشتم نه اکسپرس ک انتخابش کردم همونا رو نوشت..

    1. سلام دوست عزیزم،

      متدهای WriteLine و ReadLine در Console استفاده می‌شه که به ترتیب برای نوشتن متن و دریافت متن هست. همچنین شما برای اینکه یک برنامه‌ای رو Build کنید می‌تونید از کلید F5 استفاده کنید.
      موفق باشید!

  8. سلام خسته نباشید کارتون حرف نداره ولی اگر براتون مقدوره کل آموزش های #C را به صورت کامل در یه فایل زیپ بزارید

    با تشکر

    1. سلام دوست عزیزم،

      آموزش‌ها از قبل آماده نیستند و هر بخشی، طی روز قبل تدوین می‌شود. من از شما بابت این مسئله معذرت‌خواهی می‌کنم.
      موفق باشید!

  9. با سلام و خسته نباشید
    میخواستم کدی که باید نوشته بشه تا پنجره کنسول سریع ناپدید نشه رو بگید لطفا
    تا بشه با start debugging
    خروجی دیده بشه
    متشکرم

    1. سلام دوست عزیز،

      یکی از کارهایی که می‌تونید انجام بدید، استفاده از تابع ReadLine() هست. البته دقت کنید که ما در اینجا با کنسول کار نخواهیم کرد. بحث اصلی ما Windows Form Application می‌باشد.
      موفق باشید!

    2. سلام شما برای اینکه پنجره کنسول ناپدید نشود می توانید از دستور زیر استفاده کنید

      console.readline();

  10. سلام.من تازه با سایتتون آشناشدم.من دانشجوی رشته نرم افزار هستم ومتاسفانه در برنامه نویسی مشکل دارم .من تمام مراحلی که در این بخش برای ساختن برنامه گفته بودین رو رعایت کردم ولی در زمان اجرا این پیغام میده.
    Could not write to output file ‘C:\Documents and Settings\zahra\Local Settings\Application Data\Temporary Projects\ConsoleApplication1\obj\Debug\ConsoleApplication1.exe’ — ‘Could not execute CVTRES.EXE.’
    ممنون میشم اگه راهنمایی ایم کنید

  11. سلام من اولین بار که با سایتتون اشنا شدم میشه روش چت دو طرفه رونشونم بدید بصورت سرور وکلاینت ممن
    ون میشم متشکرم از تطفتون

  12. سلام آموزش هاتون حرف نداره من خودم مدیر مجتمع فنی تهران نمایندگی لاهیجان هستم ولی تو کلاس استاد خودمون که C# درس میدن شرکت میکنم که الان به درس for رسیدیم که برای کمک گرفتن برای حل تمرین مجبور شدم به سایت شما مراجعه کنم خیلی کمک کرد، و واقعاً آموزشتون عالیه و مشکل منو حل کرده ، فقط کاش چنتا مثال بیشتر و البته سخت تر واسه هر درس میزاشتید.
    راستی نرم افزارای برنامه نویسی دیگه رو هم اضافه کنید بهتره.
    خیلی خیلی ممنون

  13. سلام ازتون خیلی خیلی ممنونم من خیلی دنبال همچین آموزش های ساده و مبتدی میگشتم ولی اصلا پیدا نمشید وقتی هم پیدا میشد برام خیلی پیچیده بود . من درحدمبتدی به پایین هستم وخیلی علاقه به یادگیری دارم ان شالله خداتن سالم بهتون بده تاهمینجوری ادامه بدید.تشکر

  14. سلام.وقتی میخوام دستورconsole.writeline یاcoonsole.readlineروبدم وقتی کهconsole.روواردمیکنم توی پنجره اینتلیسنس writeوreadlineوجودنداره و ارورمیده.مشکل کجاست؟؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *