ในเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับคำสั่งเงื่อนไขในภาษา C#
คำสั่งเงื่อนไข (selection statement) เป็นคำสั่งที่ให้คุณสามารถควบคุมโปรแกรมให้ทำงานตามต้องการ ตามเงื่อนไขที่กำหนดให้
Note: การเปรียบเทียบสตริงในภาษา C# นั้นเป็นแบบ case-sensitive นั่นหมายความว่า "Mateo" และ "mateo" นั้นเป็นคนละค่ากัน
มาดูตัวอย่างกับโปรแกรมตรวจสอบเกรดโดยการใช้คำสั่ง if-else
และนี่เป็นผลลัพธ์เมื่อเราได้ลองใส่ค่าคะแนนต่างๆ ลงบนโปรแกรม
ข้างล่างนี้เป็นตัวอย่างการใช้งาน switch-case
ในบทนี้ คุณได้เรียนรู้เกี่ยวกับการควบคุมโปรแกรมโดยใช้คำสั่งเลือกจากเงื่อนไขในภาษา C#
คำสั่งเงื่อนไข (selection statement) เป็นคำสั่งที่ให้คุณสามารถควบคุมโปรแกรมให้ทำงานตามต้องการ ตามเงื่อนไขที่กำหนดให้
คำสั่ง If
คำสั่ง if เป็นคำสั่งเลือกพื้นฐานในการเขียนโปรแกรมในทุกๆ ภาษา มันถูกใช้เพื่อควบคุมโปรแกรมเพื่อให้คำงานในบล็อกของ if ถ้าตรงกับเงื่อนไขที่กำหนดไว้ โดยคำสั่ง if มีรูปแบบการใช้งานดังนี้if (expression) { // statements }expression คือเงื่อนไขที่คุณจะต้องกำหนดเพื่อที่จะให้โปรแกรมทำงาน ถ้า expression เป็น true โปรแกรมจะทำงานในบล็อกคำสั่งของ If ที่ล้อมรอบด้วย
{
และ }
ถ้า expression เป็น false มันจะถูกเพิกเฉยและไปทำงานบรรทัดต่อไปหลังบล็อคของ Ifstring name = "Mateo"; if (name == "Mateo") { Console.WriteLine("Welcome, Mateo!"); }จากตัวอย่างด้านบน เราได้ใช้คำสั่ง if เพื่อตรวจสอบชื่อในตัวแปร name ว่าถ้ามันเท่ากับ "Mateo" จะทำให้ expression เป็น true และจะแสดงคำว่า "Welcome, Mateo!" ออกทางหน้าจอคอมพิวเตอร์ของคุณ คุณสามารถลองใช้กับชื่ออื่นๆ ได้
Note: การเปรียบเทียบสตริงในภาษา C# นั้นเป็นแบบ case-sensitive นั่นหมายความว่า "Mateo" และ "mateo" นั้นเป็นคนละค่ากัน
คำสั่ง If-else if
คุณสามารถใช้คำสั่ง else if สำหรับเงื่อนไขที่สองและใช้คำสั่ง else สำหรับเงื่อนไขในกรณีที่ไม่ตรงกับเงื่อนไขใดๆ ก่อนหน้าเลยมาดูตัวอย่างกับโปรแกรมตรวจสอบเกรดโดยการใช้คำสั่ง if-else
using System; class SelectionStatement { static void Main(string[] args) { int score; Console.Write("Enter your score: "); int.TryParse(Console.ReadLine(), out score); if(score >= 80) { Console.WriteLine("Your grade is A"); } else if(score >= 70) { Console.WriteLine("Your grade is B"); } else if (score >= 60) { Console.WriteLine("Your grade is C"); } else if (score >= 50) { Console.WriteLine("Your grade is D"); } else { Console.WriteLine("You fall"); } Console.ReadKey(); } }ในตัวอย่าง เป็นตัวแปรสำหรับการตรวจสอบเกรดโดยการใส่คำแนนลองไปในตัวแปร score และโปรแกรจะนำไปคำนวณเกรดที่ได้ คือถ้าคะแนนตั้งแต่ 80 ขึ้นไปจะได้เกรด A, 70 จะได้เกรด b, 60 เกรดจะได้ C ไปเรื่อยๆ และในคำสั่ง else ไม่ตรงกับเงื่อนไขใดๆ ก่อนหน้าเลย และคุณจะสอบตก
และนี่เป็นผลลัพธ์เมื่อเราได้ลองใส่ค่าคะแนนต่างๆ ลงบนโปรแกรม
Enter your score: 82 Your grade is A
Enter your score: 70 Your grade is B
Enter your score: 49 You fallมาดูตัวอย่างเพิ่มเติม กับโปรแกรมแปลงอุณหภูมิโดยการใช้คำสั่ง if else
using System; class SelectionStatement { static void Main(string[] args) { int mode; float temperature; Console.Write("1: convert F to C\n2: convert C to F\n"); Console.Write("Enter 1 or 2: "); int.TryParse(Console.ReadLine(), out mode); Console.Write("Enter temperature to be converted: "); float.TryParse(Console.ReadLine(), out temperature); if (mode == 1) { float c = (temperature - 32) * (5.0f / 9.0f); Console.WriteLine("Converted {0} Fahrenheit degree to {1} Celsius degree", temperature, c); } else if (mode == 2) { float f = temperature * 1.8f + 32; Console.WriteLine("Converted {0} Celsius degree to {1} Fahrenheit degree", temperature, f); } else { Console.WriteLine("You've entered wrong mode."); } Console.ReadKey(); } }ในตัวอย่างข้างบนเป็นโปรแกรมสำหรับแปลงอุณภูมิจากองศาเซลเซียสเป็นองศาฟาเรนไฮต์ และในทางกลับกัน มันมีสองตัวแปรในโปรแกรม ตัวแปร mode เพื่อบ่งบอกว่าคุณต้องการแปลงไปเป็นแบบไหน ยกตัวอย่างเช่น: ถ้าคุณใส่ค่า 1 มันหมายความว่าแปลงจาก องศาฟาเรนไฮต์ ไปเป็น องศาเซลเซียส ใส่ 2 เป็นการแปลงจาก องศาเซลเซียส ไปเป็นองศาฟาเรนไฮต์ และถ้าเป็นค่าอื่นโปรแกรมจะไม่ทำงาน ตัวแปร temperature เป็นค่านำเข้าของอุณหภูมิที่ต้องการแปลง
คำสั่ง Switch case
คำ สั่งการเลือกอีกแบบหนึ่งคือคำสั่ง switch case ซึ่งมันทำงานคล้ายกับคำสั่ง if แต่มันใช้สำหรับเปรียบเทียบกับค่าคงที่เท่านั้น ซึ่งมีรูปแบบการใช้งานดังนี้:switch(inputValue) { case constant1: // statement for case 1 break; case constant2: // statement for case 1 break; default: //statement for default case break; }โดย
inputValue
เป็นค่าที่ต้องการนำไปเปรียบเทียบกับค่าคงที่ในแต่ละกรณี (case) ในบล็อกของ switch ที่เรียงลำดับกัน เมื่อเงื่อนไขตรงกับ case
ใดๆ โปรแกรมจะทำงานข้างของคำสั่ง case จนกว่ามันจะพบคำสั่ง break
เพื่อที่จะออกจากบล็อกของ switchข้างล่างนี้เป็นตัวอย่างการใช้งาน switch-case
using System; class SwitchCase { static void Main(string[] args) { int n = 1; switch(n) { case 1: Console.WriteLine("Case 1"); break; case 2: Console.WriteLine("Case 2"); break; default: Console.WriteLine("Default case"); break; } Console.ReadKey(); } }ในตัวอย่าง เราได้ส่งตัวแปร
n
เป็นอากิวเมนต์สำหรับ switch และมันมีประเภทข้อมูลเป็นแบบ Integer สังเกตุกว่าเงื่อนใน case ต่างๆ ก็ต้องเป็น Integer ด้วยเช่นกันในบทนี้ คุณได้เรียนรู้เกี่ยวกับการควบคุมโปรแกรมโดยใช้คำสั่งเลือกจากเงื่อนไขในภาษา C#
ไม่มีความคิดเห็น:
แสดงความคิดเห็น