C# IF, Switch, For, While Loop Statements Tutorial [ตัวอย่าง]

การควบคุมการไหลและคำสั่งแบบมีเงื่อนไข

คำสั่งควบคุมโฟลว์และเงื่อนไขมีอยู่ในภาษาการเขียนโปรแกรมใดๆ เพื่อเปลี่ยนแปลงโฟลว์ของโปรแกรม

ตัวอย่างเช่น หากมีคนต้องการดำเนินการเฉพาะชุดคำสั่งเฉพาะโดยอิงตามตรรกะบางอย่าง คำสั่ง Flow control และเงื่อนไขจะมีประโยชน์

คุณจะได้รับความเข้าใจที่ดีขึ้นเมื่อเราอ่านคำสั่งต่าง ๆ ที่มีอยู่ใน C#

โปรดทราบว่าโค้ดด้านล่างทั้งหมดสร้างขึ้นในไฟล์ Program.cs

1) ถ้าคำสั่ง

คำสั่ง if ใช้ในการประเมินนิพจน์บูลีนก่อนดำเนินการชุดคำสั่ง หากนิพจน์ประเมินเป็นจริง ก็จะเรียกใช้ชุดคำสั่งหนึ่งชุด มิฉะนั้นจะเรียกใช้ชุดคำสั่งอีกชุดหนึ่ง

ในตัวอย่างของเราด้านล่าง มีการเปรียบเทียบตัวแปรที่เรียกว่าค่า หากค่าของตัวแปรน้อยกว่า 10 ตัวแปรจะรันคำสั่งหนึ่ง หรือมิฉะนั้น ตัวแปรก็จะรันบนคำสั่งอื่น

ถ้าคำสั่ง

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 value = 11;
   
   if(value<10)
   {
    Console.WriteLine("Value is less than 10");
   }
   else
   {
    Console.WriteLine("Value is greater than 10");
   }
    Console.ReadKey();
  }
 }
}

คำอธิบายรหัส

  1. ขั้นแรกเรากำหนดตัวแปรที่เรียกว่าค่าและตั้งค่าเป็น 11
  2. จากนั้นเราใช้คำสั่ง 'if' เพื่อตรวจสอบว่าค่าน้อยกว่า 10 ของตัวแปรหรือไม่ ผลลัพธ์จะเป็นจริงหรือเท็จ
  3. หากเงื่อนไข if ประเมินเป็นจริง เราจะส่งข้อความ “ค่าน้อยกว่า 10” ไปยังคอนโซล
  4. หากเงื่อนไข if ประเมินเป็นเท็จ เราจะส่งข้อความ “ค่ามากกว่า 10” ไปยังคอนโซล

หากป้อนโค้ดด้านบนถูกต้องแล้วและโปรแกรมทำงานสำเร็จจะแสดงผลลัพธ์ต่อไปนี้

Output:

ถ้าคำสั่ง

เราจะเห็นได้อย่างชัดเจนว่าคำสั่ง 'if' ถูกประเมินว่าเป็นเท็จ ดังนั้นข้อความ "ค่ามากกว่า 10" จึงถูกส่งไปยังคอนโซล

2) คำสั่งสวิตช์

คำสั่ง switch เป็นการเพิ่มประสิทธิภาพให้กับคำสั่ง 'if' หากคุณมีนิพจน์หลายรายการที่ต้องประเมินในครั้งเดียว การเขียนคำสั่ง 'if' หลายรายการจะกลายเป็นปัญหา

คำสั่ง switch ใช้ในการประเมินนิพจน์และเรียกใช้คำสั่งที่แตกต่างกันตามผลลัพธ์ของนิพจน์ ถ้าเงื่อนไขหนึ่งไม่ประเมินเป็นจริง คำสั่ง switch จะย้ายไปยังเงื่อนไขถัดไปและอื่นๆ

มาดูกันว่ามันทำงานอย่างไรกับตัวอย่างด้านล่าง ที่นี่ เรากำลังเปรียบเทียบค่าของตัวแปรที่เรียกว่า 'value' อีกครั้ง จากนั้นเราจะตรวจสอบว่าค่าเท่ากับ 1 หรือ 2 หรือแตกต่างอย่างสิ้นเชิง

คำสั่งสลับ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=11;
   switch(value) 
   {
     case 1: Console.WriteLine("Value is 1");	
     break;
     case 2: Console.WriteLine("Value is 2");
     break;
     default: Console.WriteLine("value is different");
     break;
   }
  }
 }
}

คำอธิบายรหัส:-

  1. ก่อนอื่นเรากำหนดตัวแปรที่เรียกว่า 'value' และตั้งค่าเป็น 11
  2. จากนั้นเราจะใช้คำสั่ง 'switch' เพื่อตรวจสอบค่าของตัวแปร 'value'
  3. คำสั่ง Case ใช้เพื่อกำหนดเงื่อนไขที่แตกต่างกัน ตามเงื่อนไข ชุดคำสั่งสามารถดำเนินการได้ คำสั่ง switch สามารถมีเงื่อนไขได้หลายกรณี คำสั่ง case แรกจะตรวจสอบว่าค่าของตัวแปรเท่ากับ 1 หรือไม่
  4. หากคำสั่งกรณีแรกเป็นจริง ข้อความ "ค่าคือ 1" จะถูกเขียนลงในคอนโซล
  5. คำสั่ง break ใช้เพื่อแยกคำสั่ง switch ทั้งหมดเมื่อเงื่อนไขเป็นจริง
  6. เงื่อนไขเริ่มต้นคือเงื่อนไขพิเศษ นี่หมายความว่าหากไม่มีนิพจน์กรณีใดประเมินเป็นจริง ให้รันชุดคำสั่งสำหรับเงื่อนไขดีฟอลต์

หากป้อนรหัสข้างต้นอย่างถูกต้องและโปรแกรมทำงานสำเร็จ ผลลัพธ์จะแสดงดังต่อไปนี้ ผลลัพธ์จะพิมพ์ค่าเริ่มต้น "ค่าแตกต่างกัน" เนื่องจากไม่มีเงื่อนไขใดที่ตรงตามเงื่อนไข

Output:

คำสั่งสลับ

3) ในขณะที่วง

while loop ใช้เพื่อวัตถุประสงค์ในการวนซ้ำ สมมติว่าคุณต้องการทำซ้ำชุดคำสั่งบางชุดตามจำนวนครั้งที่ต้องการ จากนั้นจะใช้ while

ในตัวอย่างด้านล่าง เราใช้คำสั่ง while เพื่อแสดงค่าของตัวแปร 'i' คำสั่ง while ใช้เพื่อแสดงค่า 3 ครั้ง

ในขณะที่วนซ้ำ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=3,i=0;
   
   while(i<value)
   {
    Console.WriteLine(i);
    i=i+1;
   }
    Console.ReadKey(); 
  }
 }
}

คำอธิบายรหัส:-

  1. จำนวนเต็มสองตัว ตัวแปร ถูกกำหนดไว้ อันหนึ่งคือค่าและอีกอันคือ 'i' ตัวแปรค่าถูกใช้เป็นขีดจำกัดบนที่เราควรวนซ้ำคำสั่ง while และ 'i' คือตัวแปรที่จะถูกประมวลผลระหว่างการวนซ้ำ
  2. ในคำสั่ง while ค่าของ 'i' จะถูกตรวจสอบกับขีดจำกัดบนอย่างต่อเนื่อง
  3. ที่นี่เราแสดงค่าของ 'i' ไปยังคอนโซล เรายังเพิ่มค่าของ 'i'

หากป้อนโค้ดด้านบนถูกต้องแล้วและโปรแกรมทำงานสำเร็จจะแสดงผลลัพธ์ต่อไปนี้

Output:

ในขณะที่วนซ้ำ

ที่นี่คุณจะเห็นว่าคำสั่ง while จะถูกดำเนินการ 3 ครั้งและเพิ่มค่าในเวลาเดียวกัน และในแต่ละครั้ง จะแสดงค่าปัจจุบันของตัวแปร 'i'

4) สำหรับลูป

นอกจากนี้ วง 'for' ยังใช้เพื่อวัตถุประสงค์ในการวนซ้ำอีกด้วย สมมติว่าคุณต้องการทำซ้ำชุดคำสั่งบางชุดตามจำนวนครั้งที่ต้องการ ระบบจะใช้ forloop

ในตัวอย่างด้านล่าง เราใช้คำสั่ง 'for' เพื่อแสดงค่าของตัวแปร 'i' คำสั่ง 'for' ใช้เพื่อแสดงค่า 3 ครั้ง

สำหรับห่วง

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   for(Int32 i=0;i<3;i++)
   {
    Console.WriteLine(i);
   }
    Console.ReadKey(); 
  
  }
 }
}

คำอธิบายรหัส:-

  1. คำหลัก 'for' ใช้เพื่อเริ่มต้นคำสั่ง 'for loop'
  2. ใน 'for loop' เรากำหนด 3 สิ่ง สิ่งแรกคือการกำหนดค่าเริ่มต้นของตัวแปรซึ่งจะใช้ใน 'for loop'
  3. ประการที่สองคือการเปรียบเทียบค่าของ 'i' กับขีดจำกัดบน ในกรณีของเรา ขีดจำกัดบนคือค่า 3 (i<3)
  4. ในที่สุด เราก็เพิ่มค่าของ 'i' ตามนั้น
  5. ที่นี่เราแสดงค่าของ 'i' ไปยังคอนโซล

หากป้อนโค้ดด้านบนถูกต้องแล้วและโปรแกรมทำงานสำเร็จจะแสดงผลลัพธ์ต่อไปนี้

Output:

สำหรับห่วง

คุณจะเห็นได้ว่าคำสั่ง 'for' ถูกดำเนินการ 3 ครั้ง และในแต่ละครั้ง คำสั่งจะแสดงค่าปัจจุบันของตัวแปร 'i'