Nhập xuất cơ bản với màn hình Console
Ứng dụng Console là gì?
Trích dẫn nguyên văn: “A console application, in the context of C#, is an application that takes input and displays output at a command line console with access to three basic data streams: standard input, standard output and standard error. A console application facilitates the reading and writing of characters from a console - either individually or as an entire line. It is the simplest form of a C# program and is typically invoked from the Windows command prompt. A console application usually exists in the form of a stand-alone executable file with minimal or no graphical user interface (GUI).”
Nguồn: https://www.techopedia.com/definition/25593/console-application-c
Để tạo ứng dụng Console, chúng ta cần làm việc với Class System.Console. Trong đó, System là một namespace, Console là lớp bên trong namespace System.
Xuất dữ liệu với Console
Để xuất nội dung trong C#, chúng ta có thể sử dụng:
- System.Console.WriteLine()
- System.Console.Write()
Sự khác biệt cơ bản của WriteLine() và Write() là phương thức Write() chỉ in chuỗi được cung cấp, trong khi phương thức WriteLine() in chuỗi và chuyển đến đầu dòng tiếp theo.
In Variable và Literal sử dụng phương thức WriteLine() và Write()
Phương thức WriteLine() và phương thức Write() có thể sử dụng để in biến và hằng. Hãy xem ví dụ dưới đây:
Kết hợp (nối) hai chuỗi sử dụng toán tử cộng (+) và in chúng
Các chuỗi có thể được kết hợp / nối (concatenated string) bằng cách sử dụng toán tử + trong khi in.
In chuỗi kết hợp bằng chuỗi đã được định dạng (Formatted String)
Một giải pháp tốt hơn để in chuỗi kết hợp là sử dụng chuỗi đã được định dạng. Formatted string cho phép lập trình viên sử dụng trình giữ chỗ (placeholder) cho các biến.
{0} là trình giữ chỗ cho biến val , nó sẽ bị thay thế bởi giá trị của val. Chỉ có 1 biến được sử dụng nên chỉ có một placeholder.
Ví dụ dưới đây là nhiều biến:
Khi chạy chương trình, output sẽ hiển thị
5 + 10 = 15
Ở đây, {0} bị thay thế bởi firstNumber, {1} bịthay thế bởi secondNumber và {2} bị thay thế bởi result.
Cách tiếp cận output in này dễ đọc hơn và ít bị lỗi hơn toán tử +.
Nhập dữ liệu với Console
Trong C#, cách đơn giản nhất để lấy input từ user là sử dụng phương thức ReadLine() của lớp Console. Tuy nhiên, Read() và ReadKey() cũng có thể làm điều đó được. Hai phương thức này cùng thuộc lớp Console.
Sự khác nhau của phương thức ReadLine(), Read() và ReadKey()
- ReadLine(): Phương thức ReadLine() đọc dòng tiếp theo của input (từ dòng input chuẩn). Nó trả về cùng một chuỗi.
- Read(): Phương thức Read() đọc ký tự tiếp theo từ dòng input chuẩn. Nó trả về giá trị Ascii của ký tự.
- ReadKey(): Phương thức ReadKey() tiếp nhận phím tiếp theo mà user nhấn. Phương pháp này thường được sử dụng để giữ màn hình không hiển thị output cho đến khi người dùng nhấn một phím.
Ví dụ: Sự khác nhau của phương thức Read() và ReadKey():
Từ ví dụ trên, bạn có thể thấy cách hoạt động của Console.ReadKey() và Console.Read(). Khi sử dụng Console.ReadKey(), khi nhấn phím bất kỳ màn hình sẽ hiển thị kết quả.
Khi sử dụng Console.Read(), bạn sẽ phải viết cả dòng lệnh trong khi nó chỉ trả về giá trị ASCII value của ký tự đầu tiên. Trong ví dụ này, 76 là giá trị ASCII của L.
Đọc giá trị số
Việc đọc một ký tự hoặc chuỗi rất đơn giản trong C #. Tất cả những gì bạn cần làm là gọi đúng tên các phương thức tương ứng.
Tuy nhiên, việc đọc các giá trị số có thể khá phức tạp.
Chúng ta sẽ vẫn sử dụng cùng một phương thức ReadLine(). Nhưng vì phương thức này nhận đầu vào là chuỗi, nên nó cần được chuyển đổi thành kiểu số nguyên hoặc dấu chấm động.
Một cách tiếp cận đơn giản để chuyển đổi đầu vào là sử dụng các phương thức của lớp Convert .
Phương thức ToInt32() và ToDouble() của Convert class chuyển đổi input thành kiểu integer và double. Tương tự, chúng ta có thể chuyển đổi input sang các kiểu khác.
Tác giả: Bạch Ngọc Toàn
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.
Bài viết liên quan
Sử dụng kiểu tập hợp (Enum)
Enum (viết tắt của Enumeration) trong C# là một kiểu dữ liệu đặc biệt cho phép bạn định nghĩa một tập hợp các hằng số có tên
Đọc thêmTính đóng gói (Encapsulation) và best practices trong OOP
(Tính đóng gói) là một trong những nguyên tắc cơ bản của lập trình hướng đối tượng (OOP).
Đọc thêmTính trừu tượng - Abstract classes and interfaces
Tính trừu tượng (Abstraction) trong OOP là kỹ thuật ẩn đi các chi tiết triển khai và chỉ hiển thị cho người dùng những chức năng cần thiết.
Đọc thêmTính chất kế thừa (Inheritance) và đa hình (polymorphism)
Kế thừa là cơ chế cho phép một lớp (class) kế thừa các thuộc tính và phương thức từ một lớp khác.
Đọc thêmCách debug ứng dụng C#
Hướng dẫn cách debug chương trình C# trong Visual Studio và Visual Studio Code
Đọc thêmTìm hiểu về các loại Collection trong C#
Trong C#, collections là các cấu trúc dữ liệu được sử dụng để lưu trữ và quản lý các nhóm đối tượng. C# cung cấp nhiều loại collections khác nhau để phù hợp với các yêu cầu cụ thể của lập trình viên
Đọc thêmTổng quan về Generic và Non-Generic Collection
Hiểu khái niệm Generic và Non-Generic Collection và phân biệt giữa Generic Collection và Non-Generic Collection.
Đọc thêmSử dụng mảng (Arrays)
Mảng trong C# là một cấu trúc dữ liệu lưu trữ một dãy các phần tử có bộ nhớ nằm liên tiếp nhau và có kích thước cố đinh.
Đọc thêmLập trình hướng đối tượng
Lập trình hướng đối tượng (Object Oriented Programing) hay còn gọi là OOP. Là một kỹ thuật lập trình cho phép các lập trình viên có thể ánh xạ các thực thể bên ngoài đời thực và trừu tượng hoá thành các class và object trong mã nguồn.
Đọc thêmVòng lặp (loop)
Trong thực tế khi bạn cần thực thi một khối lệnh nhiều lần. Vòng lặp cho phép chúng ta thực thi một câu lệnh hoặc một khối lệnh nhiều lần.
Đọc thêm