توی این ویدیو، می‌خوام روی لینکی که توی ویدیوی قبلی دیدیم کلیک کنم، و هنوز
روش کلیک نکردیم، ولی چطور می‌تونیم کلیک کنیم؟
خب، اگه روش هاور کنید، یه دستورالعمل می‌بینید که می‌گه کنترل پلاس.
کلیک کنید تا لینک رو دنبال کنید.
باشه.
خب، بیاید همین کارو کنیم.
این ما رو به وب‌سایت learn.microsoft.com می‌بره.
و بعد اساساً ما رو به آموزش عبارات سطح بالا می‌بره.
اینجا می‌گه قالب برنامه کنسول سی‌شارپ عبارات سطح بالا تولید می‌کنه.
حالا اینجا چه خبره؟
خب، موضوع اینه که از دات‌نت ۶ که چند سال پیش منتشر شده، مایکروسافت اینو
به ویژوال استودیو اضافه کرد که اگه یه برنامه کنسول بسازید، می‌تونید این چک‌باکس رو تیکشو بردارید.
خب، بیاید نشون بدم کدوم چک‌باکس رو می‌گم.
اگه اینجا یه پروژه جدید بسازید و به برنامه کنسول برید و یه اسم بهش بدید، می‌تونید این
چک‌باکس رو انتخاب کنید یا تیکشو بردارید.
دفعه قبل ما تیکشو برداشتیم که باعث شد این طراحی رو داشته باشیم.
خب، اینجوری فایل Program.cs ما به نظر می‌رسه، هرچند از نظر فنی کلی چیز دیگه دورش هست.
ولی.
اگه حالا اینو انتخاب کنیم، یعنی "عبارات سطح بالا استفاده نشود"، اون موقع این کد رو می‌گیریم.
خب، اینجا کلی چیز بیشتر در جریانه.
می‌بینید یهو کلی کد بیشتر شده.
و تنها کدی که ما می‌شناسیم این کد اینجاست.
این همونیه که توی پروژه اخیرمون استفاده کردیم.
و کلی چیز دیگه دورش هست.
ولی این کدها از کجا میان؟
خب، موضوع اینه که قبلاً اینا لازم بودن تا بتونید یه برنامه کنسول رو حتی شروع کنید
و هر کدی رو اجرا کنید و چیزی که می‌تونستید اولش تغییر بدید و اجرا کنید، به‌اصطلاح، هر چیزی
داخل این main بود.
خب، توی متد مین، به‌اصطلاح، قراره ببینیم متد چیه.
فعلاً واردش نمی‌شم، ولی اساساً می‌تونید همه این اطلاعات رو توی مستندات بخونید .
که نشون می‌ده کد معمولاً چه شکلیه
خب، تا دات‌نت ۵ و قبل‌تر، این قالب پیش‌فرض برنامه کنسول بود.
قالبی که هر وقت یه پروژه جدید می‌ساختید استفاده می‌شد و به‌صورت خودکار فایل
Program.cs شما رو با این پر می‌کرد.
می‌بینید که ما هیچ‌کدوم از این خط‌های کد رو ننوشتیم، ولی به فایل Program.cs ما اضافه شدن
و حالا می‌تونیم ازشون استفاده کنیم.
حالا اینجا کلی چیز در جریانه، و من نمی‌خوام خیلی وارد جزئیات بشم که اینجا چی داره می‌شه،
ولی بازم می‌خوام یه مرور خیلی کوتاه از چیزی که داره اتفاق می‌افته بهتون بدم.
اینجا می‌گه namespace ConsoleApp4، این فقط اسم برنامه کنسول منه.
و این یه فلش کوچیک داره که می‌تونم ازش برای جمع کردن و باز کردنش استفاده کنم.
خب، هر چیزی که داخل این کروشه‌هاست بدنه namespace منه.
محتواش، به‌اصطلاح، namespace ConsoleApp منه.
بخشی از برنامه‌ای که ساختم.
بعد یه چیزی به اسم کلاس هست.
توی این مورد یه کلاس داخلیه.
این کلمه‌کلیدی فقط وقتی معنی می‌ده که بدونیم کلاس خارجی چی می‌تونه باشه.
خب، وقتی کلاس‌ها رو عمیق‌تر بررسی کنیم و این چیز اسمش برنامه‌ست، باشه.
پس بیاید فقط قبول کنیم، یه چیزی به اسم کلاس وجود داره.
و توی این مورد اسمش برنامه‌ست.
و اینم اسم فایل ما به‌صورت پیش‌فرضه.
یعنی Program.cs.
و بعد داخل بدنه اون کلاس، یه چیزی به اسم متد static void main دارید.
حالا متد static void main چیه؟
خب، قراره وقتی متدها رو بررسی کنیم بهش نگاه کنیم.
و این توی فصل پنجم یا ششم یا چیزی شبیه این خواهد بود.
پس خیلی نگرانش نباشید.
ولی چیزی که می‌خوام واضح باشه که شما بفهمید اینه که قالبی که داریم استفاده می‌کنیم
همیشه همه‌چیز اینجا بالا و اینجا پایین رو از ما مخفی می‌کنه.
پس تنها چیزی که با قالب جدیدمون استفاده می‌کنیم، همونی که اینجا می‌بینید با
عبارات سطح بالا، جایی که عبارات سطح بالا رو برامون تولید می‌کنه، .
این بخش رو تولید می‌کنه
این کد و سبک قدیمی برای تولید تمام این کدها برای ما بود.
اما اگر به آن نگاه کنید، این در اینجا وجود دارد.
و در اینجا همه چیزهایی است که می‌خواهیم در پروژه‌مان قرار دهیم.
اجازه دهید نشانتان دهم منظورم چیست.
اینجا می‌بینید Console.WriteLine.
و اگر به پروژه اخیرم بروم تا سبک‌های دیگر را به شما نشان دهم.
خب، هر چیزی که اینجا بنویسیم.
اگر فقط یک خط دیگر از Console.WriteLine اضافه کنیم و یک Console.ReadKey اضافه کنیم تا برنامه‌مان
در حال اجرا بماند، این باعث می‌شود برنامه‌مان هنگام اجرا ادامه پیدا کند.
و خواهیم دید که حالا دو بار "سلام دنیا" می‌گوید.
پس هر چیزی که اینجا بنویسیم، تقریباً مثل این است که داخل این کروشه‌ها می‌نویسیم.
یعنی داخل اینجا.
اینجا.
باشه.
این قالب قدیمی است.
و اینجا دوباره از Console.ReadKey استفاده می‌کنم.
و همان خروجی را می‌گیرم.
همان نتیجه را می‌گیرم که دو بار "سلام دنیا" می‌گوید.
پس ایده اصلی این است که بقیه چیزها از ما پنهان است، اما نیازی نیست نگران آن باشیم
چون مایکروسافت این را معرفی کرده تا فقط کار را برای مبتدیان راحت‌تر کند .
تا شروع به ساخت برنامه کنند
و نیازی نیست به این کدهای تکراری نگاه کنید.
کد تکراری چیست؟
کد تکراری به بخش‌هایی از کد اشاره دارد که در بسیاری از جاها بدون تغییر یا با تغییرات کم استفاده می‌شوند.
پس این فقط اضافه شده و ما نمی‌توانیم آن را تغییر دهیم.
باید این‌گونه باشد تا برنامه‌مان به‌صورت عادی اجرا شود.
خیلی خب.
این چیزی بود که می‌خواستم به‌سرعت به شما نشان دهم.
زیاد نگران آن نباشید، اما حالا می‌دانید که دو قالب مختلف وجود دارد
و ما از این قالب ساده‌تر استفاده می‌کنیم که با ایجاد یک پروژه جدید به دست می‌آید،
که ما این کار را انجام داده‌ایم، و با انتخاب برنامه کنسول، دادن یک نام به آن و علامت نزدن این چک‌باکس.
و وقتی آن را علامت بزنیم، از دستورات سطح بالا استفاده نمی‌شود، یعنی این چیزی است که
اگر چک‌باکس را علامت نزنیم، به دست می‌آوریم، این را نمی‌گیریم.
وقتی چک‌باکس را علامت می‌زنیم.
این کد تکراری را می‌گیریم.
و به هر حال، اگر می‌خواهید این را عمیق‌تر بخوانید، می‌توانید مستندات را بررسی کنید.
اما فکر می‌کنم کمی گیج‌کننده است چون اگر به این نگاه کنید، کلمات زیادی وجود دارد
که برای یک مبتدی قابل فهم نیست، و به همین دلیل فکر می‌کنم خیلی سنگین است.
خیلی سنگین است
به همین دلیل پیشنهاد می‌کنم فقط با دوره ادامه دهید،
چون این مستندات خیلی پیچیده هستند.
مثل خواندن چیزی به زبان دوم‌تان است که در مدرسه یاد می‌گیرید، اما نمی‌دانید
20٪ از کلمات یا 30٪ از کلمات را، و گاهی کلماتی که نمی‌فهمید با کلمات دیگری توضیح داده می‌شوند
که آنها را هم نمی‌فهمید.
پس این بخش سخت ماجراست که در مستندات جریان دارد.
با این حال، گاهی اوقات می‌تواند خیلی مفید باشد.
خب، این برای این ویدیو کافی است.
در ویدیوی بعدی می‌بینمتان.