การอ่านค่าด้วยเมธอด Read() และ ReadLine()
ในภาษา C# ได้มีเมธอดอำนวยความสะดวกสำหรับการอ่านค่านำเข้าจาก Input Stream เช่น คีย์บอร์ด โดยส่วนมากมักจะใช้เมธอด ReadLine()
การใช้เมธอด Read()
เมธอด Read() ใช้เพื่อผ่านตัวอักษรตัวต่อไปจาก input steam โดยเมธอดจะส่งค่า integer ของตัวอักษรกลับมา โดยมีรูปแบบการใช้งานดังนี้
int variable = Console.Read();
Note: เมธอดนี้ใช้เพื่อรับค่าเพียงแค่หนึ่งตัวอักษรจากคีย์บอร์ดเท่านั้น ถ้าค่าอินพุตท์มากกว่า มันจะตัดทิ้งไปเก็บไว้ใน input buffer
Console.WriteLine(Console.Read());
Console.WriteLine(Console.Read());
Console.WriteLine(Console.Read());
จากตัวอย่างด้านบน ให้อินพุตท์จากคีย์บอร์ดเป็น “abcd” ผลลัพธ์คือเมธอดจะส่งค่าเป็น integer กลับมาและแสดงบนแต่ละบรรทัด และตัวอักษรตัวสุดท้ายนั้นจะไม่ถูกแสดงเพราะได้มีการเรียกเมธอด Read() เพียง 3 ครั้ง และมันจะนำไปเก็บตัวอักษร d ไว้ใน input buffer เมื่อมันเจอเมธอด Read() อีกครั้ง มันจะนำตัวอักษรที่ถูกเก็บออกมาให้กับเมธอดอัตโนมัติ
abcd
97
98
99
การใช้เมธอด ReadLine()
วิธีการรับค่าในภาษา C# ที่สะดวกที่สุดคือการใช้เมธอด ReadLine() เพื่ออ่านค่าจากคีย์บอร์ด มันสามารถใช้อ่าน string, integer, float, double เป็นต้น โดยเมธอดจะ return ค่ากลับมาเป็นสตริง ในการที่คุณต้องการอ่านค่าที่เป็นตัวเลข เราจำเป็นต้องใช้เมธอดในการแปลงสตริงให้เป็นตัวเลขก่อน
using System;
class BasicInputOutput
{
static void Main(string[] args)
{
String name;
int age;
double height;
name = Console.ReadLine();
int.TryParse(Console.ReadLine(), out age);
double.TryParse(Console.ReadLine(), out height);
Console.WriteLine(“Name: {0}”, name);
Console.WriteLine(“Age: {0}”, age);
Console.WriteLine(“Height: {0}”, height);
}
}
ในตัวอย่าง มีตัวแปร 3 ตัวและได้รับค่าให้กับมันโดยการเรียกใช้เมธอด ReadLine() เนื่องจากเมธอดนั้น return ค่าเป็น string สำหรับตัวเลขนั้นเราจำเป็นต้องใช้เมธอด TryParse() เพื่อแปลงไปเป็นประเภทข้อมูลที่ต้องการ เช่น int.TryParse() จะแปลงข้อมูลไปเป็น integer
James
25
7.1
Name: James
Age: 25
Height: 7.1
ตัวอย่างทั้งการรับค่าและแสดงผลออกทางหน้าจอ