الإدخال
اكتب 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 ولا يحتوي اقتباسًا.
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() حيث يبدأ وقت التشغيل. لا شيء من تلك الكلمات حروفًا للشاشة. 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 الواحد.
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 مجددًا. البناء يكتب خطأ ولا يبقى صامتًا. الإصلاح أن تحذف string الثانية وتترك plant = Console.ReadLine();. الاسم يُنشأ مرة واحدة. الأسطر اللاحقة تغيّر فقط الحروف التي يحملها. في الملف الذي تحتفظ به لا يوجد ReadLine ثانٍ أصلًا.
الاقتباس حول الاسم يكتب الاسم
سطر الكتابة في الملف الذي تحتفظ به هو Console.WriteLine(plant); بلا اقتباس. إذا وضعت اقتباسًا حول الاسم بعد سطر مكتوب حقيقي، يصبح السطر Console.WriteLine("plant");. ذلك الاقتباس يعلّم حروف الشاشة. الحروف بينها هي p وl وa وn وt. C# لا يبحث عن الاسم. يمكنك كتابة leaf والضغط على Enter، ويمكن لـ ReadLine أن يحفظ leaf في plant، وما زال سطر البرنامج يُظهر plant. الكلمة المكتوبة لا تُكتب، لأن سطر الكتابة لم يستخدم الاسم أبدًا.
هذا الملف الثالث. ليس الملف الذي تحتفظ به. احتفظ به بما يكفي لترى سطر البرنامج الواحد plant بعد أن تكتب leaf، ثم انزع الاقتباس عن سطر الكتابة مجددًا.
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. البناء يكتب خطأ. لا يبقى صامتًا. لا شاشة تُوثق بينما البناء يكتب خطأ. الإصلاح أن تعيد سطر ReadLine فوق سطر الكتابة.
هذا الملف الرابع هو الترتيب المعطوب. ليس الملف الذي تحتفظ به. احتفظ به فقط حتى يكتب البناء الخطأ، ثم أعد سطر ReadLine إلى الأعلى.
using System;
public class Pine
{
public static void Main()
{
Console.WriteLine(plant);
string plant = Console.ReadLine();
}
}
WriteLine لا يحفظ سطرًا مكتوبًا
سطر الحفظ يجب أن يستدعي ReadLine، لا WriteLine. إذا كان السطر string plant = Console.WriteLine();، يكتب البناء خطأ. WriteLine يكتب إلى الشاشة ولا يعيد حروفًا إلى اسم. ليس حفظًا منتظرًا. لا leaf مكتوبًا تثق به بينما البناء يكتب خطأ. الإصلاح أن تعيد Console.ReadLine() إلى يمين =.
هذا الملف الخامس استدعاء حفظ خاطئ. ليس الملف الذي تحتفظ به. احتفظ به فقط حتى يكتب البناء الخطأ، ثم أعد ReadLine.
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، بينما تبقى هذه الصفحة على سطر مكتوب واحد من الحروف.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى