17
ข้อ จำกัด คำสั่งสวิตช์ C # - เพราะเหตุใด
เมื่อเขียนคำสั่ง switch ดูเหมือนจะมีข้อ จำกัด สองประการเกี่ยวกับสิ่งที่คุณสามารถเปิดได้ในคำสั่ง case ตัวอย่างเช่น (และใช่ฉันรู้ว่าถ้าคุณกำลังทำสิ่งนี้มันอาจหมายถึงสถาปัตยกรรมเชิงวัตถุ (OO) ของคุณคือไม่แน่นอน - นี่เป็นเพียงตัวอย่างที่ได้วางแผนไว้!), Type t = typeof(int); switch (t) { case typeof(int): Console.WriteLine("int!"); break; case typeof(string): Console.WriteLine("string!"); break; default: Console.WriteLine("unknown!"); break; } นี่คือคำสั่ง switch () ล้มเหลวด้วย 'ค่าประเภทหนึ่งที่คาดหมาย' และคำสั่งกรณีล้มเหลวด้วย 'คาดว่าจะมีค่าคงที่' ทำไมมีข้อ จำกัด เหล่านี้ในสถานที่และเหตุผลพื้นฐานคืออะไร? ผมไม่เห็นเหตุผลว่าทำไมงบเปลี่ยนใด ๆ ที่มีจะยอมจำนนต่อการวิเคราะห์แบบคงเท่านั้นและทำไมเป็นค่าเปิดที่จะเป็นหนึ่ง (นั่นคือดั้งเดิม) มี การให้เหตุผลคืออะไร
141
c#
switch-statement