nhập xuất trong c
|

Bài 6. Nhập xuất trong C#

This entry is part 7 of 21 in the series Khóa học C# cơ bản

Nhập xuất trong C# được sử dụng một cách thường xuyên khi mà chúng ta làm việc với các project Console hay những chương trình dòng lệnh, nhập xuất giúp chúng ta có thể nhập vào để test chương trình hoặc là xuất các thông tin cần thiết để có thể debug chương trình, từ đó suy ra phương hướng để chúng ta cải thiện chương trình của mình. Việc nhập xuất trong các chương trình máy tính diễn ra thường xuyên mà tất cả các lập trình viên đều phải biết tới nó. Và nhập xuất trong C# cũng sẽ là chủ đề mà chúng ta sẽ bàn luận ngày hôm nay.

Nhập xuất trong C#

In dữ liệu ra màn hình

In dữ liệu ra màn hình hay xuất dữ liệu ra màn hình, như đã trình bày ở trên, nó giúp chúng ta in lên màn hình những thông tin cần thiết dành cho người dùng hoặc là các thông tin dành cho lập trình viên. Ở phần này, chúng ta sẽ đi tìm hiểu 2 lệnh xuất ra màn hình đơn giản nhất trong C# trong lớp Console.

Phương thức Write và WriteLine trong lớp Console

Phương thức Write và WriteLine nghe tên thì có vẻ giống nhau nhưng chúng ta có thể dễ dàng phân biệt nó như sau:

  • Phương thức WriteLine cho phép chúng ta xuất dữ liệu ra màn hình và sẽ xuống dòng khi kết thúc câu lệnh.
  • Ngược lại phương thức Write cũng sẽ cho phép chúng ta xuất dữ liệu ra màn hình nhưng khi kết thúc câu lệnh đó sẽ không in xuống dòng.

Để dễ hiểu hơn chúng ta xét ví dụ về câu lệnh WriteLine như sau:

Khi chạy đoạn code trên chúng ta có kết quả:

writeline trong c#

Như chúng ta có thể thấy ở dòng số 9. Sau khi kết thúc câu lệnh thì chương trình ngay lập tức xuống dòng để thực hiện câu lệnh tiếp theo ở dòng số 10.

Tương tự như vậy chúng ta có ví dụ với câu lệnh Write như sau:

Chương trình lúc này sẽ cho ra kết quả như sau:

write trong c#

Như vậy ở ví du này ở dòng số 9 và dòng số 10 khi chúng ta thay đổi từ câu lệnh WriteLine sang Write thì chương trình đã không xuống dòng, điều này được thể hiện khi 2 câu lệnh xuất ra lại xuất ra trên cùng một dòng.

Ngoài ra, các bạn có thể dùng các câu lệnh nhập xuất để có thể xuất ra một biến số hoặc một biểu thức số:

Ví dụ này chương trình cho chúng ta kết quả

Từ các ví dụ trên, chúng ta rút ra cách để sử dụng câu lệnh WriteWriteLine trong C#:

In màu ra màn hình với lớp Console

Có lẽ đây là phần thú vị và màu sắc nhất trong bài viết lần này khi chúng ta sẽ được tìm hiểu cách để in ra màu trong C#.

  • Để thay đổi được màu chữ khi xuất ra màn hình chúng ta thay đổi giá trị màu của thuộc tính (property) ForegroundColor của lớp  Console.
  • Để thay đổi được màu nền phái sau văn bản xuất ra màn hình chúng ta thay đổi giá trị màu của thuộc tính (property) BackgroundColor của lớp Console.
  • Khi chúng ta không còn muốn một chút màu mè và muốn các giá trị màu của 2 thuộc tính ForegroundColorBackgroundColor ra sử dụng phương thức ResetColor của lớp Console.
  • Các giá trị màu được Microsoft hỗ trợ sẽ nằm bên trong enum ConsoleColor.

Chúng ta xét một ví dụ đơn giản về xuất màu trong C#:

Chương trình sẽ in ra màu và dòng chữ như sau:

in màu trong c#

Lưu ý: Giá trị màu trong 2 thuộc tính ForegroundColorBackgroundColor sẽ được in ra chính giá trị màu đó cho tới khi giá trị màu trong 2 thuộc tính này được thay đổi.

Nhập dữ liệu từ bàn phím

Trong một ngôn ngữ lập trình thì việc chỉ in ra màn hình thôi là chưa đủ, chúng ta cần những câu lệnh nhập vào để test chương trình cũng như lấy dữ liệu khi người dùng nhập vào. Việc nhập dữ liệu từ bàn phím trong C# được hỗ trợ bởi 2 phương thức ReadReadLine trong lớp Console.

  • Phương thức Read sẽ đọc từng ký tự do người dùng nhập vào và giá trị trả về sẽ là ký tử trong bảng mã ASCII của ký tự đó. Khi không còn chữ cái nào trong dữ liệu đầu vào phương thức này trả về giá trị là -1.
  • Phương thức ReadLine sẽ đọc theo từng dòng của dữ liệu nhập vào. Phương thức này trả về một giá trị nullable kiểu string. Khi đã hết dữ liệu nhập vào mà phương thức này vẫn được gọi phương thức sẽ trả về giá trị null.

Chúng ta xét thử chương trình sau với dữ liệu nhập vào là 01:

Khi chúng ta nhập 01 vào chương trình trên chương trình cho ra kết quả:

read trong c#

Chúng ta có thể thấy chương tình chỉ nhập vào một ký tự duy nhất là ký tự 0 và biến a mang giá trị ASCII của ký tự 0.

Khi chúng ta thêm một lệnh Read nữa:

Lúc này chương trình lại xuất ra như sau:

read trong c#

Như vậy câu lệnh Read tiếp theo đã đọc tiếp ký tự 1 trong dữ liệu nhập vào (49 là mã ASCII của chữ cái ‘1’).

Đối với phương thức ReadLine thì lại dễ hiểu hơn chúng ta xét một ví dụ như sau:

Chương trình này khi nhập vào Hello, world cũng sẽ cho giá trị tương tự là Hello, world vì chúng ta chỉ xuất ra chuỗi s mà không in thêm gì khác:

readline trong c#

Như vậy chúng ta dễ dàng có thể hiểu được cách nhập dữ liệu trong C#.

Tổng kết

Như vậy là trong bài viết này, mình đã hướng dẫn các bạn cách để nhập xuất trong C# đồng thời in màu lên màn hình để chương trình bớt nhàm chán tươi mới hơn, ngoài ra các bạn có thể tham khảo thêm về enum ConsoleColor tại đây. Hoặc là các phương thức khác trong class Console tại đây. Ngoài ra, các bạn có thể làm vài bài tập cơ bản sau:

  • CB01 – luyencode.net
  • CB02 – luyencode.net

Cảm ơn bạn đã đọc bài viết này. Hãy tiếp tục đồng hành cùng Lập trình không khó trong các bài viết tiếp theo nhé !

Similar Posts

Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments