در حال بارگذاری...

ورودی

بعد از شروع برنامه leaf را تایپ کنید تا صفحه leaf را نشان دهد. این کلمه داخل فایل نیست. فایل Pine یک نام می‌سازد، plant، و منتظر می‌ماند. leaf را تایپ می‌کنید و Enter می‌زنید. Console.WriteLine(plant) همان leaf را می‌نویسد. تا اینجا صفحهٔ دیگر یعنی ویرایش خط نگه‌داری، چون کلمه بین گیومه‌ها داخل فایل نشسته بود. نام کلاس عمومی را Pine نگه دارید. دوباره SDK را نصب نمی‌کنید.

فایل منتظر یک خط تایپ‌شده می‌ماند

فایل Pine را باز کنید. نام کلاس Pine می‌ماند. این صفحه نوع را عوض نام نمی‌کند. درون Main، خط نگه‌داری قدیمی که گیومه داشت را عوض کنید. خط تازهٔ نگه‌داری string plant = Console.ReadLine(); است. کلیدواژهٔ string هنوز می‌گوید این نام حرف نگه می‌دارد. plant هنوز با p کوچک شروع می‌شود. علامت = هنوز حرف‌ها را در آن نام نگه می‌دارد. تازه، سمت راست است. Console.ReadLine() گیومه ندارد. روی این خط leaf نیست. این خط از کنسول یک خط تایپ‌شده می‌خواهد. برنامه همان‌جا منتظر می‌ماند تا Enter را بزنید. وقتی Enter را زدید، ReadLine حرف‌هایی را نگه می‌دارد که پیش از آن Enter تایپ کرده‌اید. خود Enter را نگه نمی‌دارد. بعد خط با سمی‌کالن تمام می‌شود. نگه‌داری هنوز نوشتن نیست. برنامه هنوز خط خودش را ننوشته.

خط نوشتن همان نام لخت می‌ماند، با همان شکل فایلی که در صفحهٔ قبل نگه داشتید: Console.WriteLine(plant);. بدون گیومه. C# نام plant را می‌خواند، حرف‌هایی را که آن نام نگه داشته می‌نویسد، و خط را تمام می‌کند. آن حرف‌ها همان چیزی است که ReadLine همین حالا نگه داشته. اگر leaf را تایپ کرده باشید، برنامه leaf را می‌نویسد. اگر stem را تایپ کرده باشید، برنامه stem را می‌نویسد. بین این دو اجرا فایل عوض نشده. فایل را ذخیره کنید.

فایلی که نگه می‌دارید

این شکل آموزشی را نگه دارید. کلمه‌ای که تایپ خواهید کرد داخل فایل نیست. فایل را برای حرف‌های l و e و a و f بگردید. آنجا نیستند. خطِ نگه داشته plant نام دارد. خط نوشتن از plant استفاده می‌کند و گیومه ندارد.

the file you keep

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = Console.ReadLine();
        Console.WriteLine(plant);
    }
}

فایل را از بالا بخوانید و تصمیم بگیرید چه چیزی می‌تواند به صفحه برسد. using System; نام‌های کوتاه را آماده می‌کند. public class Pine نوع را نام می‌گذارد. public static void Main() جایی است که runtime شروع می‌کند. هیچ‌کدام از آن کلمه‌ها حرف صفحه نیستند. string plant = Console.ReadLine(); یک خط تایپ‌شده را در plant نگه می‌دارد. خودش چیزی نمی‌نویسد. Console.WriteLine(plant); تنها خط نوشتن است. حرف‌های نگه داشته را می‌نویسد و خط را تمام می‌کند. نام plant نوشته نمی‌شود. Console نوشته نمی‌شود. سمی‌کالن نوشته نمی‌شود.

آنچه تایپ می‌کنید و آنچه برنامه می‌نویسد

با dotnet run اجرا کنید. بعد از آن فرمان، برنامه روی Console.ReadLine() منتظر است. هنوز تمام نشده و هنوز leaf ننوشته، چون هنوز خطی نداده‌اید. مکان‌نما روی خط تازه است. حرف‌های l و e و a و f را تایپ کنید. ترمینال همان حرف‌ها را هم‌زمان با فشردن کلید نشان می‌دهد. آن نمایش تکرار کلیدهای شماست. Console.WriteLine نیست. بعد Enter بزنید.

Enter انتظار را تمام می‌کند. ReadLine مقدار leaf را در plant نگه می‌دارد و خود Enter را نگه نمی‌دارد. بعد WriteLine مقدار leaf را می‌نویسد و خط را تمام می‌کند. می‌توانید leaf ببینید و زیر آن دوباره leaf. اولی کلیدهایی است که ترمینال نشان داد. دومی خط برنامه است. خط برنامه گیومه ندارد. چهار حرف است، بعد خط تمام می‌شود. برنامه بعد از آن خط نوشتن تمام می‌شود. اگر فقط همان leaf خط برنامه را می‌خواهید داوری کنید، خطی را ببینید که بعد از Enter ظاهر می‌شود.

اگر خط برنامه plant باشد، خط نوشتن دور plant گیومه دارد. فایلی که نگه می‌دارید این‌طور نیست. اگر dotnet run فوراً leaf بنویسد و هرگز منتظر نماند، فایل هنوز کلمهٔ گیومه‌دار نگه می‌دارد، مثل string plant = "leaf";، و هرگز ReadLine را صدا نمی‌زند. دنبال گیومه دور leaf بگردید. فایلی که نگه می‌دارید هیچ‌کدام را ندارد. برای صفحه‌ای که کلمهٔ غلط نشان می‌دهد دوباره .NET SDK را نصب نمی‌کنید.

حرف بزرگ همان‌طور که تایپ می‌کنید کپی می‌شود. اگر Leaf با L بزرگ تایپ کنید و Enter بزنید، خط برنامه Leaf است. فایل هنوز آن حرف‌ها را ندارد. Enter خالی هم خط واقعی است. بدون تایپ حرف Enter بزنید. ReadLine هیچ حرفی در plant نگه نمی‌دارد. WriteLine خطی بدون حرف می‌نویسد. برنامه اجرا شد. انتظار تمام شد چون Enter رسید. فایلی که نگه می‌دارید همانی است که با leaf، چهار حرف کوچک، امتحان می‌کنید.

فاصله داخل خط می‌ماند

ReadLine تا Enter می‌خواند، نه تا فاصله. leaf را تایپ کنید، بعد یک فاصله، بعد stem، بعد Enter. حرف‌های نگه داشته در plant برابرند با leaf، یک فاصله، و stem. Console.WriteLine(plant) مقدار leaf stem را می‌نویسد. فاصله یک نویسهٔ نگه‌داری‌شده است، همان‌طور که وقتی کلمه داخل فایل بود فاصله داخل گیومه نگه داشته می‌شد. این صفحه خط را سر فاصله قطع نمی‌کند. فایلی که نگه می‌دارید همان خوانندهٔ یک‌خطی است. فقط آنچه تایپ می‌کنید عوض می‌شود، نه فایل، وقتی فاصله روی صفحه می‌خواهید.

دو خط تایپ، دو Enter

یک برنامه می‌تواند خط دوم بگیرد. زیر اولین خط نوشتن، خط تازه‌ای را در همان نام نگه دارید، بعد نام را دوباره بنویسید. خط تازهٔ نگه‌داری plant = Console.ReadLine(); است. با string شروع نمی‌شود. plant از قبل هست، پس این خط فقط حرف‌هایی را عوض می‌کند که نام نگه داشته. خط نوشتن بعدی باز Console.WriteLine(plant); است. برنامه حالا دو بار منتظر می‌ماند. هر ReadLine منتظر Enter خودش است.

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

two typed lines

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = Console.ReadLine();
        Console.WriteLine(plant);
        plant = Console.ReadLine();
        Console.WriteLine(plant);
    }
}

dotnet run بزنید. برنامه منتظر می‌ماند. leaf را تایپ کنید و Enter بزنید. ترمینال leaf نشان می‌دهد و برنامه زیر آن leaf می‌نویسد. برنامه دوباره منتظر می‌ماند. هنوز تمام نشده. stem را تایپ کنید و Enter بزنید. ترمینال stem نشان می‌دهد و برنامه زیر آن stem می‌نویسد. خط‌های برنامه leaf و بعد stem هستند. کلیدهای پژواک‌شده بالای هر کدام از آن خط‌ها می‌نشینند. اگر هر دو خط برنامه leaf بگویند، ReadLine دوم اجرا نشده، یا هر دو بار leaf تایپ کرده‌اید. اگر برنامه پیش از تایپ خط دوم stem بنویسد، WriteLine دوم زیر ReadLine دوم ننشسته است. صفحه ترتیب خط‌های فایل را دنبال می‌کند و هر انتظار دنبال ReadLineی است که هنوز Enter نگرفته.

برای همان نام دوباره string ننویسید. string plant = Console.ReadLine(); که زیر خطی بنشیند که از قبل plant ساخته، اشتباه دیگری است. آن خط دوباره می‌خواهد plant بسازد. build خطا می‌نویسد و ساکت نمی‌ماند. تعمیر این است که string دوم را پاک کنید و plant = Console.ReadLine(); بگذارید. نام یک‌بار ساخته می‌شود. خط‌های بعدی فقط حرفی را عوض می‌کنند که نگه داشته. روی فایلی که نگه می‌دارید اصلاً ReadLine دوم نیست.

گیومه دور نام، خود نام را می‌نویسد

خط نوشتن در فایلی که نگه می‌دارید Console.WriteLine(plant); است بدون گیومه. اگر بعد از یک خط تایپ واقعی دور نام گیومه بگذارید، خط می‌شود Console.WriteLine("plant");. آن گیومه‌ها حرف‌های صفحه را علامت می‌زنند. حرف‌های بینشان p و l و a و n و t است. C# نام را جست‌وجو نمی‌کند. می‌توانید leaf تایپ کنید و Enter بزنید، و ReadLine مقدار leaf را در plant نگه دارد، و خط برنامه باز plant نشان دهد. کلمهٔ تایپ‌شده نوشته نمی‌شود، چون خط نوشتن هرگز از نام استفاده نکرد.

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

the name written in quotes after a read

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = Console.ReadLine();
        Console.WriteLine("plant");
    }
}

نام باید بعد از ReadLine وجود داشته باشد

C# فایل را از بالا می‌خواند. خطی که plant را پر می‌کند باید بالای خطی باشد که plant را می‌نویسد. اگر اول Console.WriteLine(plant); بگذارید و تازه بعد string plant = Console.ReadLine(); بنویسید، خط نوشتن نام plant را پیش از وجود plant صدا می‌زند. build خطا می‌نویسد. ساکت نمی‌ماند. تا وقتی build خطا می‌نویسد صفحه‌ای برای اعتماد نیست. تعمیر این است که خط ReadLine را دوباره بالای خط نوشتن ببرید.

این فایل چهارم ترتیب خراب است. فایلی نیست که نگه می‌دارید. فقط تا وقتی build خطا بنویسد نگهش دارید، بعد خط ReadLine را دوباره بالا بگذارید.

the name used before ReadLine

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.WriteLine(plant);
        string plant = Console.ReadLine();
    }
}

WriteLine خط تایپ را نگه نمی‌دارد

خط نگه‌داری باید ReadLine را صدا بزند، نه WriteLine. اگر خط string plant = Console.WriteLine(); باشد، build خطا می‌نویسد. WriteLine روی صفحه می‌نویسد و حرفی را به نام برنمی‌گرداند. نگه‌داری منتظر نیست. تا وقتی build خطا می‌نویسد leaf تایپ‌شده‌ای برای اعتماد نیست. تعمیر این است که Console.ReadLine() را دوباره سمت راست = بگذارید.

این فایل پنجم فراخوانی غلط نگه‌داری است. فایلی نیست که نگه می‌دارید. فقط تا وقتی build خطا بنویسد نگهش دارید، بعد ReadLine را برگردانید.

WriteLine used where ReadLine belongs

csharp
using System;

public class Pine
{
    public static void Main()
    {
        string plant = Console.WriteLine();
        Console.WriteLine(plant);
    }
}

صفحه همان خطی است که تایپ کردید

حالا می‌توانید نامی را از صفحه‌کلید پر کنید و بدون گذاشتن کلمه بین گیومه‌های فایل همان خط را بنویسید. string plant = Console.ReadLine(); منتظر Enter می‌ماند و حرف‌های تایپ‌شده را نگه می‌دارد. Console.WriteLine(plant); آن حرف‌ها را می‌نویسد و خط را تمام می‌کند. ReadLine دوم دوباره منتظر می‌ماند. گیومه دور نام حرف‌های خود نام را می‌نویسد. خط ReadLine باید بالای اولین خطی بنشیند که از نام استفاده می‌کند. WriteLine روی سمت نگه‌داری، نگه‌داری نیست. صفحهٔ بعد انواع مقدار را شروع می‌کند، تا نام بتواند عددی با نوعی غیر از string نگه دارد، در حالی که این صفحه روی یک خط تایپ حرف می‌ماند.

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
7
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود