Đầu vào của người dùng C#
Nhận thông tin đầu vào của người dùng
Bạn đã biết rằng Console.WriteLine()
được sử dụng để xuất (in) các giá trị. Bây giờ chúng ta sẽ sử dụng Console.ReadLine()
để lấy dữ liệu đầu vào của người dùng.
Trong ví dụ sau, người dùng có thể nhập tên người dùng của mình được lưu trữ trong biến userName
. Sau đó, chúng tôi in giá trị của userName
:
Ví dụ
// Type your username and press enter Console.WriteLine("Enter username:"); // Create a string variable and get user input from the keyboard and store it in the variable string userName = Console.ReadLine(); // Print the value of the variable (userName), which will display the input value Console.WriteLine("Username is: " + userName);
Đầu vào và số của người dùng
Phương thức Console.ReadLine()
trả về một string
. Vì vậy, bạn không thể lấy thông tin từ kiểu dữ liệu khác, chẳng hạn như int
. Chương trình sau đây sẽ gây ra lỗi:
Ví dụ
Console.WriteLine("Enter your age:"); int age = Console.ReadLine(); Console.WriteLine("Your age is: " + age);
Thông báo lỗi sẽ giống như thế này:
Cannot implicitly convert type 'string' to 'int'
Giống như thông báo lỗi cho biết, bạn không thể chuyển đổi hoàn toàn loại 'chuỗi' thành 'int'.
May mắn thay, bạn vừa học được từ chương trước (Truyền kiểu) rằng bạn có thể chuyển đổi bất kỳ loại nào một cách rõ ràng bằng cách sử dụng một trong các phương thức Convert.To
:
Ví dụ
Console.WriteLine("Enter your age:"); int age = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Your age is: " + age);
Lưu ý: Nếu bạn nhập sai thông tin đầu vào (ví dụ: văn bản ở dạng số), bạn sẽ nhận được thông báo lỗi/ngoại lệ (như System.FormatException: 'Chuỗi đầu vào không ở định dạng đúng.').
Bạn sẽ tìm hiểu thêm về Ngoại lệ và cách xử lý lỗi trong chương sau.