01/10/2018, 17:45

Tất tần tật về các cách nhập trong C#

Mình có thắc mắc ntn ạ
Vd mình nhập 3 1 1 thì chương trình liên tục báo lỗi.
Nhưng khi mình nhập 3 số mỗi số 1 dòng thì chấp nhận;
Bình thường mình hay dùng
int.Parse(Console.ReadLine());
và mình muốn nhập số riêng lẻ chứ ko nhập theo dạng string như vậy.
Đang dùng cin bên c++ mà sang c# này thấy rối quá.
Mọi người có thể cho mình biết tất cả các cách nhập trong c# được ko?
Mình cảm ơn.

Trương Tấn Phát viết 19:52 ngày 01/10/2018

Lớp Console trong C# chỉ hỗ trợ đọc từng dòng.
Nếu bạn muốn đọc các giá trị số được phân cách bởi dấu cách như trong C/C++ thì làm cách sau:

  • Đọc từng dòng rồi tách các giá trị phân cách bởi dấu cách. Rồi chuyển sang số. Chỉ thực hiện khi có thao tác xuống dòng (nhấn “Enter”).
  • Dùng phương thức Console.Read() thay vì Console.ReadReadLine() để đọc và ghép từng kí tự cho đến khi gặp dấu cách hoặc xuống dòng. Thực hiện bất khi nào bạn muốn (khi nhập).
  • Dùng lớp bổ trợ đọc các giá trị tương đương có sẵn: BinaryReader.

Tự tìm hiểu thật nghiêm túc (với Google). Nếu thực sự bí thì hỏi lại, mình sẽ hướng dẫn chi tiết.

Trần Hoàn viết 19:55 ngày 01/10/2018

Khi bạn dùng Console.ReadLine(), bạn thu được 1 string.
Muốn phân tách string theo dấu cách, dùng Split()

Đỗ Nam viết 19:50 ngày 01/10/2018

Dùng Console.Read() sao nhỉ? Mình đã thử nhưng cho kq sai

Trương Tấn Phát viết 19:51 ngày 01/10/2018

Console.Read() trả về giá trị int (mã kí tự - char code). Phải ép sang kiểu char thì mới ra đúng kí tự mình nhập.

Bài liên quan
0