ในการเขียนโปรแกรม สิ่งที่สำคัญอบ่างหนึ่งคือโปรแกรมต้องมีการติดต่อกับผู้ใช้ โดยพื้นฐานแล้ว เป็นการแสดงผลลัพธ์ของโปรแกรม เราเรียกสิ่งนี้ว่า output โดยทั่วไปมักจะเป็นหน้าจอของคอมพิวเตอร์ และอีกอย่างหนึ่งคือหารให้ข้อมูลกับโปรแกรมเราเรียกว่า input ซึ่งโดยปกติจะเป็นทางคีย์บอร์ด อย่างไรก็ตาม มันสามารถเกิดขึ้นได้โดยวิธีอื่นๆ เช่น โหลดจากไฟล์ เสียง หรือนำเข้าจากกล้องถ่ายภาพ เป็นต้น สำหรับบทเรียนนี้เราจะพูดบนพื้นฐานการทำงานกับคอมพิวเตอร์เท่านั้น
ในบทเรียนนี้ เราจะแนะนำให้คุณได้รู้จักกับสองสามวิธีที่ใช้กันบ่อยๆ กับ console โปรแกรมการแสดงข้อความกับฟังก์ชัน Write และ WriteLine
คุณได้เห็นว่าเราได้ใช้เมทธิดนี้ไปแล้วในบทก่อนหน้า ฟังก์ชัน Write และ WriteLine นั้นมาจากไลบรารี่มาตฐานของภาษา C# ซึ่งอยู่ในคลาส Console ข้อแตกต่างของมันคือ เมธอด WriteLine นั้นจะเพิ่มการขึ้นบรรทัดใหม่เข้าไปเพื่อคุณใส่ตัวอักษรเข้าไปในฟังก์ชัน ในขณะที่ฟังก์ชัน Write นั้นจะไม่ทำ มาดูตัวอย่างusing System; class BasicInputOutput1 { static void Main(string[] args) { Console.Write("Hello Java"); Console.WriteLine("Hello C#"); Console.Write("Hello C++"); Console.ReadKey(); } }มาดูตัวอย่าง เมื่อโปรแกรมได้ถูกรัน
Hello JavaHello C# Hello C++จากตัวอย่างด้านบนนั้น คุณจะสังเกตุเห็นว่าหลังจากคำว่า Hello C# โปรแกรมจะขึ้นบรรทัดใหม่ นั่นเป็นผลลัพธ์ของฟังก์ชัน WriteLine นั่นเอง ในภาษา C# คุณสามารถใช้ตัวอักษรพิเศษ
\n
เพื่อแสดงผลลัพธ์ของการขึ้นบรรทัดใหม่Console.Write("Hello C#\n"); Console.WriteLine("Hello C#");จากตัวอย่างด้านบน ทั้งของบรรทัดของโปรแกรมนั้นให้ผลลัพธ์ที่เหมือนกัน
ฟังก์ชัน Write และ WriteLine กับตัวแปร
เหมือน ในภาษาอื่นๆ ภาษา C# สามารถแสดงตัวอักษรร่วมกับตัวแปรและค่าคงที่ได้ สำหรับฟังก์ชัน Write และ WriteLine นั้นจะเป็นการใส่พารามิเตอร์มากกว่า 2 ตัวขึ้นไป จะจัดรูปแบบการแสดงผลในพารามิเตอร์ตัวแรก มาดูตัวอย่างการใช้งานของฟังก์ชัน Write และ WriteLineusing System; class BasicInputOutput2 { static void Main(string[] args) { String name = "Marcus"; String music = "Trip hop"; String movie = "science"; Console.WriteLine("My name is {0}.", name); Console.WriteLine("{0} is my favorite music style and {1} is movie style.", music, movie); Console.ReadKey(); } }ในตัวอย่าง เราได้แสดงผลชื่อจากตัวแปร name นั่นหมายความว่าข้อความจะเปลี่ยนไปตามค่าของตัวแปร โดยเราได้ใส่อากิวเมนต์ตัวที่สองในฟังก์ชัน WriteLine คือตัวแปร
name
และหลังจากนั้นเราจะต้องทำการจัดรูปแบบการแสดงผลที่อากิวเมนต์แรกที่คุณจะเห็น {
and }
เพื่อให้สอดคล้องกับลำดับของตัวแปรที่ใส่เข้ามาในฟังก์ชันและนี่เป็นผลลัพธ์ของโปรแกรม
My name is Marcus. Trip hop is my favorite music style and science is movie style.และในภาษา C# ยังมีอีกวิธีหนึ่งที่คุณสามารถใช้ได้คือการต่อ string หรือเราเรียกว่า concatenating โดยการใช้เครื่องหมาย
+
เพื่อต่อข้อความเข้าด้วยกัน และคุณได้เห็นเราได้ใช้ในบทก่อนหน้านี้แล้วusing System; class BasicInputOutput3 { static void Main(string[] args) { String name = "Marcus"; String music = "Trip hop"; String movie = "science"; Console.WriteLine("My name is " + name + "."); Console.WriteLine(music + " is my favorite music style and " + movie+ " is movie style."); Console.ReadKey(); } }ทั้ง สองวิธีนั้นให้ผลลัพธ์ที่เหมือนกัน แต่จะมีข้อควรระวังคือการใช้เครื่องหมาย concatenating นั้นจะทำให้เกิดการแปลงตัวเลขเป็น string และให้คุณเลือกใช้มันอย่างเหมาะสม
Console.WriteLine("Number is " + 3 + 4); // Number is 34 Console.WriteLine("Number is " + (3 + 4)); // Number is 7จาก ตัวอย่างนั้นจะได้ผลลัพธ์ที่แตกต่างกัน เพราะว่าการใช้เครื่องหมาย concatenate กับ string นั้นจะทำให้ตัวเลขถูกแปลงไปเป็นสตริงอัตโนมัติ คุณต้องกำหนดความสำคัญให้กับตัวเลขก่อนโดยการใส่วงเล็บดังตัวอย่างด้านบน
การอ่านค่าด้วยฟังก์ชัน Read และ ReadLine
ในภาษา C# ได้มีฟังก์ชันอำนวยความสะดวกสำหรับการอ่านค่านำเข้าจาก input steam เช่น คีย์บอร์ด โดยส่วนมากเรามักจะใช้ฟังก์ชัน 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); Console.ReadKey(); } }ใน ตัวอย่าง เรามีตัวแปร 3 ตัวและได้รับค่าให้กับมันโดยการเรียกใช้ฟังก์ชัน ReadLine เนื่องจากฟังก์ชันนั้น return ค่าเป็น string สำหรับตัวเลขนั้นเราจำเป็นต้องใช้ฟังก์ชัน TryParse เพื่อแปลงไปเป็นประเภทข้อมูลที่ต้องการ เช่น
int.TryParse()
จะแปลงข้อมูลไปเป็น integer James 25 7.1 Name: James Age: 25 Height: 7.1และนี่เป็นตัวอย่างทั้งการรับค่าและแสดงผลออกทางหน้าจอ
ในบทนี้ คุณได้เรียนรู้ในการรับและการแสดงค่าในภาษา C# ในพื้นฐาน โดยการใช้ฟังก์ชันจากไลบรารี่มาตรฐาน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น