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.");
}