Đọc dữ liệu từ bàn phím trong C#
Trong bài học này, bạn sẽ đọc dữ liệu người dùng nhập vào bằng Console.ReadLine và chuyển đổi sang số một cách an toàn với int.TryParse.
Giới thiệu
Phương thức Console.ReadLine dừng chương trình để chờ người dùng gõ một dòng và nhấn Enter, sau đó trả về dòng vừa nhập dưới dạng chuỗi. Vì dữ liệu nhận được luôn là chuỗi, bạn cần chuyển đổi nó sang số trước khi tính toán, và phải xử lý trường hợp người dùng nhập sai.
Console.ReadLine có thể trả về null khi không còn dữ liệu đầu vào, vì vậy toán tử ?? cung cấp một giá trị mặc định như "friend". Phương thức int.TryParse thử chuyển chuỗi thành số và trả về false thay vì gây lỗi nếu chuỗi không hợp lệ, còn kết quả được đưa ra qua biến out int age. Khi chạy trên trình biên dịch online, hãy gõ câu trả lời lúc lời nhắc xuất hiện.
Ví dụ C# chạy được
using System;
class Program
{
static void Main()
{
// Console.ReadLine returns the typed line, or null when input ends.
Console.Write("What is your name? ");
string name = Console.ReadLine() ?? "friend";
// int.TryParse converts text safely instead of throwing on bad input.
Console.Write("How old are you? ");
string text = Console.ReadLine() ?? "";
if (int.TryParse(text, out int age))
{
Console.WriteLine($"Hello, {name}!");
Console.WriteLine($"In 10 years you will be {age + 10}.");
}
else
{
Console.WriteLine($"\"{text}\" is not a whole number.");
}
}
}
What is your name? Ada
How old are you? 29
Hello, Ada!
In 10 years you will be 39.Luyện tập với trình gỡ lỗi
Luyện tập với thử thách
Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.
- Trung Bình Của Ba Số Tính trung bình cộng của ba số nguyên. Dễ
- Celsius to Fahrenheit Convert a temperature from Celsius to Fahrenheit. Dễ