Trang chủ » Nhập xuất (Input/Output) dữ liệu cơ bản trong C# Console
Uncategorized

Nhập xuất (Input/Output) dữ liệu cơ bản trong C# Console

     Trong C# có 5 lệnh dùng để nhập xuất đó là:

Console.Write();

Console.WriteLine();

Console.Read();

Console.ReadLine();

Console.ReadKey();

Console.Write();

     Cú pháp:

Console.Write(<giá trị cần in ra màn hình>);   

     Ý nghĩa: In giá trị ra màn hình console. Giá trị này có thể là 1 ký tự, 1 chuỗi, một giá trị có thể chuyển về kiểu chuỗi…

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nhap_xuat_du_lieu_console
{
class Program
{
static void Main(string[] args)
{
// In ra màn hình dòng chữ Chao ban
Console.Write(“Chao ban”);

// In ra màn hình số 10
Console.Write(10);
}
}
}

     Thực hiện chạy chương trình thì ta thấy màn hình console vừa hiện lên đã tắt. Để giải quyết vấn đề này chúng ta có nhiều cách:

     – Sử dụng sự trợ giúp của công cụ hỗ trợ lập trình (cụ thể ở đây là Visual Studio):

        + Ta thực hiện chạy chương trình bằng cách vào Debug > Start Without Debugging.

        + Phím tắt Ctrl + F5.

     Để chương trình phải dừng lại đợi mình nhấn một phím bất kỳ mới kết thúc như vậy trước khi chúng ta nhấn một phím bất kỳ thì chúng ta có thể quan sát được kết quả trên màn hình console.

     Lệnh để thực hiện điều này: 

Console.Read();

Console.ReadLine();

Console.ReadKey();

Chúng ta chỉ cần thêm 1 trong 3 lệnh trên vào cuối chương trình.

     Bây giờ,chúng ta muốn in mỗi giá trị trên một dòng thì phải làm sao?. Để trả lời cho câu hỏi này chúng ta cùng qua phần tiếp theo:

Console.WriteLine();

     Cú pháp:

Console.WriteLine(<giá trị cần in ra màn hình>);   

     Ý nghĩa:

     Lệnh này cũng tượng tự như Console.Write()

     Nhưng sẽ khác khi in giá trị ra màn hình xong nó sẽ tự động đưa con trỏ xuống dòng. Điều này giúp ta có thể giải quyết được vấn đề đã đặt ra ở phần trên.

     Ngoài ra, để xuống dòng ta còn có cách khác như:

     _ Sử dụng ký tự đặc biệt: chúng ta sử dụng ký tự “\n” trong chuỗi in ra màn hình thì trình biên dịch sẽ tự động đổi nó thành ký tự xuống dòng.

     Như vậy thay vì dùng Console.WriteLine(“Chao ban”) ta có thể dùng Console.Write(“Chao ban \n”)

   

     Như vậy chúng ta đã tìm hiểu qua 2 lệnh xuất dữ liệu ra màn hình rồi. Điểm khác biệt cơ bản giữa 2 lệnh là:

     Console.Write(<giá trị cần in ra màn hình>): in giá trị ra màn hình nhưng không đưa con trỏ xuống dòng.
     Console.WriteLine(<giá trị cần in ra màn hình>): in giá trị ra màn hình và đưa con trỏ xuống dòng.

Cộng dồn chuỗi in ra màn hình

     Thay vì chúng ta viết:        

int a = 5;      // khai báo biến kiểu nguyên có tên là a và khởi tạo giá trị là 5.
     Console.Write(“a = “);    // In ra màn hình giá trị “a = “.
     Console.Write(a);        // In ra giá trị của a là 5 

     Kết quả màn hình là: a = 5

     Thì ta có thể viết gọn lại là:

Console.Write(“a =  “ + a);

     Kết quả: in ra màn hình a = 5.

     Để cho chương trình ngắn gọn, trực quan ta có thể cộng trực tiếp như vậy thay vì viết ra nhiều dòng Console.Write().

In ra giá trị của biến

     Ngoài ra ta cũng có thể chỉ định vị trí in ra giá trị của biến trong chuỗi bằng cú pháp {<số đếm>}.

int a = 5; // khai báo biến kiểu nguyên có tên là a và khởi tạo giá trị là 5.
Console.Write(“a = {0}”, a); // In ra màn hình giá trị “a = 5”.

     Cú pháp chung:

Console.Write(“{0} {1} {2} {…}”, <giá trị 0>, <giá trị 1>, <giá trị 2>, <giá trị n>);

     Trong đó:

  • <giá trị 0> sẽ được điền tương ứng vào vị trí số 0 tương tự như vậy cho các giá trị còn lại.

________________________________________________________________________________________________________

Console.Read();

     Cú pháp:

Console.Read();

   Ý nghĩa:

     Đọc 1 ký tự và trả về 1 số nguyên là mã ASCII của ký tự đó.

     (Chú ý: lệnh này không đọc được các phím chức năng như CtrlShiftAltCaps LockTab, . . .)

     Ví dụ: Viết chương trình đọc 1 ký tự và in ký tự đó ra màn hình như sau:

static void Main(string[] args)
{
Console.WriteLine(Console.Read()); /* đọc ký tự được nhập từ bàn phím bằng lệnh Console.Read()
sau đó in ra ký tự vừa đọc được*/

Console.ReadKey(); // lệnh này dùng với mục đích dừng màn hình để xem kết quả.
}

     Kết quả khi chạy chương trình ta được:

     Lệnh Console.Read() dùng để đọc 1 ký tự và trả về 1 số nguyên là mã ASCII của ký tự đó nên khi ta nhập a thì màn hình sẽ in ra số 97 (là mã ASCII của ký tự a).

Console.ReadLine();

     Cú pháp:

Console.ReadLine();

     Ý nghĩa: Đọc dữ liệu từ bàn phím cho đến khi gặp ký tự xuống dòng thì dừng (Nói cách khác là đọc cho đến khi mình nhấn enter thì dừng) và giá trị đọc được luôn là một chuỗi.

     Ví dụ:

static void Main(string[] args)
{
/* Đọc dữ liệu từ bàn phím cho đến khi gặp ký tự xuống dòng thì dừng.
Sau đó in giá trị đã nhập ra màn hình */

Console.WriteLine(Console.ReadLine());
Console.ReadKey(); // lệnh này dùng với mục đích dừng màn hình để xem kết quả.
}

     Màn hình có 2 chữ “Xin chao” là vì chữ đầu tiên do người dùng nhập từ bàn phím, chữ thứ 2 là máy tính in ra bằng lệnh Console.WriteLine()

Console.ReadKey();

     Cú pháp:

Console.ReadKey(<tham số kiểu bool>)

     Ý nghĩa:

  • Lệnh này cũng dùng để đọc một ký tự từ bàn phím nhưng trả về kiểu ConsoleKeyInfo (là một kiểu dữ liệu có cấu trúc được định nghĩa sẵn để chứa những ký tự của bàn phím bao gồm các phím chức năng).
  • Tham số kiểu bool bao gồm 2 giá trị: true hoặc false. Nếu truyền vào true thì phím được ấn sẽ không hiển thị lên màn hình console mà được đọc ngầm ngược lại thì phím được ấn sẽ hiển thị lên màn hình console. Nếu không truyền tham số vào thì mặc định sẽ là false.