ตรรกะการเขียนโปรแกรม: รันโค้ดตามเงื่อนไข
C# อนุญาตให้เรียกใช้โค้ดแบบมีเงื่อนไข
ใช้ คำสั่ง if เพื่อกำหนดเงื่อนไข ขึ้นอยู่กับผลการตัดสิน คำสั่ง if คืนค่าจริงหรือเท็จ:
ถ้าคำสั่งเริ่มต้นบล็อกของโค้ด
เงื่อนไขเขียนอยู่ในวงเล็บ
หากเงื่อนไขเป็นจริง โค้ดที่อยู่ในเครื่องหมายปีกกาจะถูกดำเนินการ
@{ราคาวาร์=50;} <html> <body> @if (ราคา>30){<p>ราคาสูงเกินไป</p>} </ร่างกาย> </html>
หากคำสั่งสามารถมี เงื่อนไขอื่นได้
เงื่อนไข else กำหนดโค้ดที่จะดำเนินการเมื่อเงื่อนไขเป็นเท็จ
@{ราคาวาร์=20;} <html> <body> @if (ราคา>30){<p>ราคาสูงเกินไป</p>}มิฉะนั้น{<p>ราคาก็โอเค</p>} </ร่างกาย> </html>
หมายเหตุ: ในตัวอย่างข้างต้น หากเงื่อนไขแรกเป็นจริง โค้ดในบล็อก if จะถูกดำเนินการ เงื่อนไข else ครอบคลุม "อย่างอื่นทั้งหมด" ยกเว้นเงื่อนไข if
การตัดสินแบบมีเงื่อนไขหลายรายการสามารถใช้ else if เงื่อนไข :
@{ราคาวาร์=25;} <html> <body> @if (price>=30){<p>ราคาสูง</p>}else if (ราคา>20 && ราคา<30) {<p>ราคาก็โอเค</p> p> p>}else{<p>ราคาต่ำ</p>} </ร่างกาย> </html>
ในตัวอย่างข้างต้น หากเงื่อนไขแรกเป็นจริง โค้ดในบล็อก if จะถูกดำเนินการ
หากเงื่อนไขแรกไม่เป็นความจริงและเงื่อนไขที่สองเป็นจริง โค้ดในส่วน else if block จะถูกดำเนินการ
ไม่จำกัดจำนวนเงื่อนไข else if
ถ้าเงื่อนไขทั้ง if และ else if เป็นจริง บล็อก else สุดท้าย (โดยไม่มีเงื่อนไข) จะครอบคลุม "อย่างอื่นทั้งหมด"
สามารถใช้ บล็อกสวิตช์ เพื่อทดสอบเงื่อนไขบางประการ:
@{var weekday=DateTime.Now.DayOfWeek;var day=weekday.ToString();var message="";} <html> <body> @switch(day){case "Monday":message="This is the first weekday.";break;case "Thursday":message="เพียงหนึ่งวันก่อนวันหยุดสุดสัปดาห์";break;case " Friday":message="พรุ่งนี้เป็นวันหยุดสุดสัปดาห์!";break;default:message="วันนี้คือ " + วัน;break;} <p> @ข้อความ </p> </body> </html>
ค่าทดสอบ (วัน) เขียนอยู่ในวงเล็บ เงื่อนไขการทดสอบแต่ละรายการจะมีค่ากรณีที่ลงท้ายด้วยเครื่องหมายอัฒภาค และโค้ดจำนวนบรรทัดใดๆ ที่ลงท้ายด้วยคำสั่งแบ่ง หากค่าทดสอบตรงกับค่าตัวพิมพ์ บรรทัดโค้ดที่เกี่ยวข้องจะถูกดำเนินการ
บล็อกสวิตช์มีตัวพิมพ์เริ่มต้น (ค่าเริ่มต้น :) ซึ่งจะแทนที่ "กรณีอื่นๆ ทั้งหมด" เมื่อไม่มีกรณีที่ระบุตรงกัน