Get User Input

  • We use for this Console.ReadLine()
  • الداتا بتتخزن بنوع Cs String
String userName = Console.ReadLine();
 
Console.WriteLine("Username is: " + userName);

بقوله اقرأ من مكان الـ Curser لحد ما ينزل New Line يعني مش بيقرأ السطر كله انما بيقرأ من أول ما الـ Cursor واقف وبيستقبل string ودا بسبب انها بتعتمد على الـ User لأنه حرفيا ممكن يدخل أي حاجة فلازم حاجة General نستقبل فيه الكلام دا

User Input and Numbers

طب لو أنا عايز أدخل رقم في الحالة دي هيرفض

int age = Console.ReadLine(); //ERROR

We should make Explicit Casting

int age = Convert.ToInt32(Console.ReadLine());
// OR
int age = int.Parse(Console.ReadLine());

Console.ReadLine(); // Always take string so you should parse (casting)
DateTime BirthDate = DateTime.Parse(Console.ReadLine());
  • في الحالة دي لو دخلت data type مختلفة غير اللي انت محول ليها كدا هيطلعلك error
  • You should handle Cs Handle Exception

Example

عايز أحسب سن الشخص من تاريخ ميلاده:

int yearOfBirth = int.Parse(Console.ReadLine());
Console.WriteLine(2024 - yearOfBirth);

Solving Parse problem

// Factorial
int num;
if (int.TryParse(Console.ReadLine(), out num) && num >= 0)
{
    int factorial = 1;
    for (int i = 2; i <= num; i++)
    {
        factorial *= i;
    }
    Console.WriteLine(factorial);
}
else
{
    Console.WriteLine("Invalid input. Please enter a non-negative integer.");
}