การแสดงผล (output) คือ การสั่งให้คอมพิวเตอร์นำข้อมูลในหน่วยความจำ ไปแสดงผลในรูปแบบที่เรากำหนด ไม่ว่าจะเป็นการแสดงผลผ่านทางหน้าจอ ผ่านทางอุปกรณ์ต่างๆ เช่น เครื่องปริ้นส์ ก็เรียกว่าการแสดงผลเช่นกัน
การแสดงผลในโค้ดโปรแกรมภาษา C# สำหรับผู้เริ่มต้นจะเป็นการแสดงผลในรูปแบบของ Console หรือ ข้อความเพียงอย่างเดียว ซึ่งเป็นการปูพื้นฐานความเข้าใจที่ดีในการเขียนโปรแกรม เรามาดูโค้ดการแสดงผลในรูปแบบ Console กันเลยดีกว่าครับ
(โค้ดทุกโค้ดจะต้องมีตัวใหญ่เล็กเหมือนกับโค้ดด้านล่างทุกประการ)
System.Console.WriteLine( parameter ) ;
โค้ดนี้จะเป็นการสั่งให้แสดงผลออกมาเป็นข้อความใน Console ซึ่งให้สังเกตุโค้ดให้ดีๆครับ มันมีที่มาที่ไป ในการนิยาม กล่าวคือ เราได้ทำการเรียก Namespace ชื่อ System จากนั้นคั่นด้วย "." และตามด้วย Class ที่ชื่อ Console คั่นด้วย "." ตามด้วยการเรียน เมธอด WriteLine() เพื่อใช้งานอีกที การเขียนโค้ดส่วนใหญ่เราจะอ้างอิงจากใหญ่ลงมาถึงส่วนเล็ก นั่นก็คือ Namespace > Class > Method ซึ่งอาจจะดูยาวเกินจำเป็น เราสามารถ กำหนดในส่วนหัวของโค้ดว่า using System ; เพื่อที่เราจะได้ไม่ต้องนิยามถึง Namespace กล่าวคือ โค้ดที่เราจะเขียนจะเหลือเพียง
Console.WriteLine( parameter ) ;
ซึ่งจะเป็นผลดีที่เราไม่ต้องเขียนโค้ดยาวๆ ไม่เพียงแต่ namespace System เท่านั้น เราสามารถอ้างอิง namespace อื่นๆได้อีก ด้วยเหตุผลเดียวกัน
ในตอนนี้ขอให้ความสำคัญในส่วนของผลลัพธ์ก่อนแล้วเราจะมาพูดถึงการนิยามโค้ดที่ถูกต้องกันในภายหลัง
การแสดงผลข้อความใน Console จะมี 2 แบบ
รูปแบบการใช้งานของโค้ดแสดงผล
Console.WriteLine( parameter ) ;
parameter ที่จะใส่เข้าไปจะมีอยู่ หลายรูป แบบ คือ
- รูปแบบของ string โปรแกรมจะทำการแสดงผล string ที่เราพิมพ์เอาไว้ใน " " มาแสดงผล
Console.Write("Hello World!!");
เมื่อ Compile จะได้
Hello World!!
- object (ตัวแปร) เมื่อเราส่งค่าที่เป็น object ไปเพื่อแสดงผล โปรแกรมจะนำค่าของ object มาแสดงผล
int Number = 20 ;
Console.Write(Number) ;
เมื่อ Compile จะได้
20
- รูปแบบของ string เชื่อมกันกับ string หรือ object เช่น
Console.Write( "Hello" + "World!!" );
***ซึ่งจริงๆมีความหมายเดียวกับ Console.Write( "HelloWorld!!" );
ผลลัพท์
HelloWorld!!
-------------------
int SampleNum = 20 ;
string SampleText = "Test text" ;
Console.WriteLine( "My Sample Value is " + SampleNum ) ;
Console.Write( "My Sample Text is " + SampleText ) ;
ผลลัพท์
My Sample Value is 20
My Sample Text is Test text
- รูปแบบการแทนค่าในตำแหน่งที่กำหนดใน string เช่น
int value1 = 15 ;
int value2 = 30 ;
int value3 = 60 ;
string text = "Soros" ;
Console.WriteLine( "First test value is {0}" , value1 ) ;
Console.WriteLine( "My Name is {0}" , text ) ;
Console.WriteLine( "All test value are {0}, {1}, {2}" , value1, value2, value3 ) ;
*** {0} คือ ตำแหน่งที่เราจะแทนด้วยค่าของ object ซึ่งจะเริ่มจาก 0, 1, 2 ไปเรื่อยๆ
ผลลัพท์
First test value is 15
My Name is Soros
All test value are 15, 30, 60
- รูปแบบของนิพจน์ทางคณิตศาสตร์
นิพจน์ทางคณิตศาสตร์คือ การนำตัวเลขหรือตัวแปรมาใส่ตัวดำเนินการทางคณิตศาสตร์
เช่น นิพจน์ของ a+b
int a = 3 ;
int b = 6 ;
Console.WriteLine(a+b) ;
ผลลัพท์
9
------------------------------------------------------------------------------------
การรับค่าจากผู้ใช้งาน (input) คือ การนำค่าที่ผู้ใช้ป้อนเข้ามา ไปเก็บไว้ในหน่วยความจำของข้อมูลที่ได้จองเอาไว้ (ได้จากการประกาศตัวแปร) ซึ่งจะต้องเป็นลำดับขั้นตอน กล่าวคือ "ต้องมีการประกาศตัวแปรก่อนการรับค่าเข้ามาเก็บในตัวแปรนั้นๆเสมอ" เพื่อป้องกันการ error ที่จะเกิดขึ้นกับโปรแกรม คำสั่งที่เราจะใช้ในการรับค่าจะมีโค้ดคำสั่งดังนี้
การกระทำการรับค่าสามารถสรุปเป็นขั้นตอนได้ดังนี้
1. ต้องทำการประกาศตัวแปรในชนิดข้อมูลที่ต้องการรับก่อน
2. อาจมีข้อความแจ้งให้ป้อนข้อมูล(ในส่วนนี้อาจไม่มีก็ได้)
3. อ้างอิงตัวแปรตามชื่อที่ประกาศใช้หลักการกำหนดค่า แต่ใช้โค้ดทางด้านขวาเป็นคำสั่งอินพุต
- การรับค่าในรูปแบบของ string รูปแบบโค้ดจะเป็นดังนี้
Console.ReadLine( ) ;
ตัวอย่างการรับ(ตามขั้นตอน)
จงเขียนโปรแกรมรับค่าตัวเลขจำนวนเต็ม 3 ค่า และแสดงผลจำนวนเต็มนั้นในลักษณะ , คั่นไว้แต่ละจำนวน
int num1, num2, num3; // ขั้นตอนที่ 1 การประกาศตัวแปร
Console.Write("input number1 : "); // ขั้นตอนที่ 2 การแสดงข้อความแจ้งให้ใส่ จำนวน
num1 = int.Parse(Console.ReadLine()); // ขั้นตอนที่ 3 คำสั่งรับค่า (จะทำงานหลังจากการกด enter)
Console.Write("input number2 : ");
num2 = int.Parse(Console.ReadLine());
Console.Write("input number3 : ");
num3 = int.Parse(Console.ReadLine());
ซึ่งโค้ดในส่วนของด้านบนจะต้องมีตัวแปรชนิด string มารองรับอีกทีหนึ่ง (หรือต้องมีการแปลงไปเป็นข้อมูลชนิดเดียวกับตัวแปรที่มารับ)
สำหรับการรับค่าโดยที่ตัวแปรที่มารับเป็นตัวแปรชนิด string
string InputTest ;
InputTest = Console.ReadLine() ;
สำหรับการรับค่าโดยที่ตัวแปรที่มารับค่าเป็นตัวแปรชนิดอื่น (ในที่นี้จะขอยกตัวอย่างเป็นชนิด integer)
int Value ;
Value = int.Parse( Console.ReadLine() ) ;
สังเกตุได้โดยผมได้แปลงข้อมูลชนิด string มาเป็น integer ก่อนจึงจะรับค่าเข้ามาเก็บในตัวแปร Value
** ถ้าตัวแปรมีค่าอยู่ก่อนแล้ว เมื่อรับค่า ค่านั้นจะไปแทนที่ในส่วนของค่าเดิม (ค่าเดิมหายไป) เช่น
double TestValue = 3.5 ;
TestValue = double.Parse( Console.ReadLine() ) ;
Console.WriteLine(TestValue) ;
ให้ลองใส่ค่าอื่นๆลงไปดูครับ แล้วสังเกตุดูว่าค่าที่แสดงออกมานั้นเป็นค่าเดิม คือ 3.5 หรือไม่
ขอบคุณมากๆค่ะ พอดีได้เข้ามาอ่านเพราะว่าสนใจทางด้านนี้
ยังไงถ้าพี่ๆมาอะไรก็แนะนำด้วยนะค่ะ
เพราะอนากเรียนวิทยาการคอมมากๆเลยค่ะ

