توضیح در کد
یادداشت در برنامهٔ Pine برای کسی است که فایل را میخواند. صفحه pine میماند. Console.WriteLine("pine"); هنوز همان خطی است که آن کلمه را مینویسد. این صفحه یادداشت را به دو شکل میگذارد، نشان میدهد تنها خط صفحه هنوز pine است، و بعد تنها جایی را نشان میدهد که pine را پاک میکند. دوباره SDK را نصب نمیکنید. دوباره نمیخوانید کدام خط Main است. کلاس عمومی به نام Pine را نگه دارید و فرمان نوشتن را در فایلی که نگه میدارید فعال بگذارید.
یادداشت فرمان نیست
فرمان خطی است که C# اجرا میکند. Console.WriteLine("pine"); فرمان است. pine را مینویسد و خط را تمام میکند. یادداشت متنی است که در فایل میگذارید تا خودتان، یا خوانندهٔ بعدی، چیزی را به یاد داشته باشد. کامپایلر و runtime یادداشت را کنار میگذارند. کنار گذاشتن یعنی یادداشت اجرا نمیشود و روی صفحه هم نوشته نمیشود. حرفهای یادداشت بعد از اجرا در فایل میمانند. میتوانید فایل را باز کنید و آنها را بخوانید. روی صفحه پیدایشان نمیکنید. صفحه هنوز یک خط دارد و آن خط pine است، به شرطی که خودِ فرمان نویسنده یادداشت نشده باشد.
دو شکل هست. یادداشت خطی با دو خط کج شروع میشود: //. C# از همان دو خط کج تا آخر همان خط را کنار میگذارد. خط بعدی دوباره خط عادی است. یادداشت بلوکی با /* شروع میشود و با اولین */ تمام میشود. C# هرچه را بین این دو علامت است کنار میگذارد، از جمله رفتن به خط بعد. یادداشت بلوکی میتواند در یک خط باشد یا در چند خط. هر دو شکل یادداشتاند. هیچکدام صفحه را نمینویسند. خطهای کج نوشته نمیشوند. ستارهها نوشته نمیشوند. کلمههایی که بینشان میگذارید هم نوشته نمیشوند.
فایلی که نگه میدارید
این شکل آموزشی را نگه دارید. یک یادداشت خطی بالای فرمان نوشتن دارد، یک یادداشت خطی روی خودِ خط فرمان، و یک یادداشت خطی نزدیک Main. فرمان نوشتن سر جایش است و پشت خط کج نرفته است.
using System;
public class Pine
{
// the teaching type is Pine
public static void Main()
{
// a note for the reader
Console.WriteLine("pine"); // the screen is this word
}
}
از بالا بخوانید و برای هر خط تصمیم بگیرید صفحه آن را میگیرد یا نه. خط using System; نامهای کوتاه را آماده میکند و صفحه را نمینویسد. خط کلاس هنوز public class Pine است. آن خط نوع را نام میگذارد و صفحه را نمینویسد. خط بعد // the teaching type is Pine است. دو خط کج یادداشت را شروع میکنند، پس آن کلمهها برای شماست. صفحه آنها را نشان نمیدهد. خطهای کج را هم نشان نمیدهد. خط public static void Main() جایی است که runtime شروع میکند، و هیچکدام از آن کلمهها روی صفحه نیستند. این از First Program عوض نشده است.
داخل Main، خط // a note for the reader فقط یادداشت است. runtime به آن میرسد، کنارش میگذارد، و به خط بعد میرود. خط بعد همان است که مهم است: Console.WriteLine("pine"); // the screen is this word. آن خط را دو بخش جدا با خطهای کج بخوانید. قبل از خطهای کج، فرمان Console.WriteLine("pine"); است. آن فرمان pine را مینویسد و خط را تمام میکند. بعد از خطهای کج، کلمههای the screen is this word یادداشتاند. روی همان خط فرمان نشستهاند و باز هم کنار گذاشته میشوند. یادداشت لازم نیست یک خط کامل را بگیرد. اگر // بعد از فرمان تمامشده بیاید، فرمان اجرا میشود و بقیهٔ خط نه. سمیکالن فرمان را تمام میکند. خطهای کج بعد از سمیکالن یادداشت را شروع میکنند. سمیکالن را سر جایش بگذارید. صفحه pine نشان میدهد. the screen is this word را نشان نمیدهد. خط دوم نیست.
همانطور که بعد از نصب اجرا میکردید اجرا کنید. در پوشهٔ پروژه dotnet run بزنید. صفحه pine نشان میدهد. یک خط. بدون گیومه. بدون خط کج. بدون خط دوم. کلمهٔ pine هنوز همان کلمه بین گیومههاست. نه کلمهای که در فرمان تایپ کردید و نه کلمهای که در یادداشت نوشتید. یادداشتها ساخت را خراب نمیکنند و خودشان را چاپ نمیکنند.
یادداشت بلوکی
یادداشت بلوکی شکل دیگر است. وقتی یادداشت از یک خط بلندتر است، یا میخواهید پایان یادداشت علامتی باشد که خودتان انتخاب میکنید نه پایان خط، از آن استفاده میکنید. علامت باز /* است. علامت بسته */ است. C# از باز تا بسته را کنار میگذارد و اولین */ پایان است. */ بعدی بخشی از این یادداشت نیست، چون یادداشت تمام شده. این صفحه یک یادداشت بلوکی دارد، پس یک باز و یک بسته میبینید.
یادداشتهای خطی داخل Main را با یک یادداشت بلوکی عوض کنید و فرمان نوشتن را سر جایش بگذارید. صفحه عوض نمیشود. این فایل دوم است. دارید شکل یادداشت را میبینید. فایلی که نگه میداشتید یادداشت خطی داشت. این یکی یادداشت بلوکی دارد. هر دو pine مینویسند.
using System;
public class Pine
{
public static void Main()
{
/* a note
across two lines */
Console.WriteLine("pine");
}
}
یادداشت بلوکی از خطی که با /* شروع میشود آغاز میشود. کلمههای a note داخلشاند. خط بعد، across two lines، هم داخلش است چون هنوز */ بسته نیامده. */ در پایان همان خط دوم یادداشت را تمام میکند. بعد C# فرمان Console.WriteLine("pine"); را اجرا میکند چون آن فرمان بیرون یادداشت است، زیر علامت بسته. صفحه pine نشان میدهد. کلمههای a note و across two lines روی صفحه نیستند. ستارهها و خطهای کج روی صفحه نیستند. اگر */ را بالا ببرید تا درست بعد از a note روی خط اول بنشیند، خط دوم دیگر داخل یادداشت نیست. آن خط دوم باید خط واقعی C# باشد و across two lines فرمان نیست. ساخت بهجای سکوت خطا مینویسد. روی این صفحه */ در پایان خط دوم میماند تا کل یادداشت کنار گذاشته شود و ساخت آرام بماند.
سعی نکنید یک یادداشت بلوکی را داخل دیگری بگذارید. اولین */ یادداشت را تمام میکند، حتی اگر منظورتان پایان یادداشت درونی بوده باشد. بعد از آن علامت بسته، C# دوباره فرمان میخواند. این صفحه یادداشت تو در تو ندارد. یک باز، یک بسته، بعد فرمان نوشتن.
اشتباهی که pine را برمیدارد
در فایلهای بالا یادداشت و فرمان نوشتن خطهای جدا، یا بخشهای جدا از یک خط، هستند. اشتباه این است که دو خط کج را جلوی فرمان نوشتن بگذارید تا فرمان خودش یادداشت شود. این شکل سوم را فقط آنقدر نگه دارید که صفحهٔ خالی را ببینید، بعد فرمان نوشتن را برگردانید. این فایلی نیست که نگه میدارید.
using System;
public class Pine
{
public static void Main()
{
// Console.WriteLine("pine");
}
}
بعد از آن، dotnet run برای این بررسی آموزشی چیزی مفید روی صفحه نمینویسد. pine نیست. کلمهٔ گیومهدار خالی نیست. خط دوم نیست. صفحه خالی است چون فرمانی که pine مینوشت پشت // است. حرفهای Console.WriteLine("pine") هنوز در فایلاند و میتوانید بخوانیدشان، ولی حالا یادداشتاند. گیومهها نجاتشان نمیدهند. گیومه کلمه را داخل فرمان علامت میزند. یادداشت را دوباره فرمان نمیکند. دو خط کج جلویی تصمیم میگیرند، و تصمیمشان این است که بقیهٔ خط برای خواننده است.
فایل را به همان که نگه میدارید برگردانید. خط نوشتن باید Console.WriteLine("pine"); باشد و یادداشت، اگر میخواهید، بعد از سمیکالن. بعد dotnet run دوباره pine مینویسد. اگر صفحه خالی است، دنبال // قبل از Console بگردید. کل بررسی همین است. برای صفحهٔ خالی ناشی از یادداشت دوباره .NET SDK را نصب نمیکنید. عادتهای باقیماندهٔ Java با System.out.println را هنگام تمرین خط نوشتن C# از این صفحه دور نگه دارید. ساختن مسیرهای ASP.NET را از این صفحه دور نگه دارید.
صفحه هنوز pine است
حالا میتوانید بدون عوض کردن صفحه در فایل Pine یادداشت بگذارید. یادداشت خطی با // شروع میشود. یادداشت بلوکی با /* شروع میشود و با اولین */ تمام میشود. صفحهٔ فایلی که نگه میدارید pine است، نوشتهشده با Console.WriteLine("pine");. اگر // جلوی آن فرمان بایستد، صفحه خطی ندارد. یادداشت میتواند هر کلمهای داشته باشد، از جمله Pine و Main و pine. آن کلمهها هنوز روی صفحه نیستند. صفحهٔ بعد عادتهای نوشتن خروجی را عوض میکند تا صفحه بتواند بیش از یک عادت کوتاه نشان دهد. یادداشتهای این صفحه یادداشت میمانند.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود