การประกาศตัวแปรหลายตัวพร้อมกันในภาษา C#

การประกาศตัวแปรหลายตัวพร้อมกันในภาษา C# เมื่อเขียนโปรแกรมด้วยภาษา C# เรามักต้องสร้างตัวแปรหลายตัวเพื่อเก็บค่าที่เกี่ยวข้องกัน เช่น ค่าคะแนนหลายช่อง ค่าแกน x/y/z หรือพารามิเตอร์ที่ใช้ร่วมกัน การประกาศตัวแปรหลายตัวในบรรทัดเดียว ช่วยให้โค้ดกระชับขึ้น ลดบรรทัดซ้ำ ๆ และยังคงความชัดเจนได้ หากใช้อย่างมีหลักการ ทั้งนี้ C# อนุญาตให้ประกาศตัวแปร ชนิดเดียวกัน หลายตัวด้วยการคั่นด้วยจุลภาค และยังสามารถกำหนดค่าเดียวกันให้หลายตัวได้ในบรรทัดเดียวด้วยเช่นกัน

ประกาศหลายตัวแปรชนิดเดียวกันด้วยจุลภาค

เราสามารถประกาศตัวแปรชนิดเดียวกันหลายตัวในบรรทัดเดียว โดยคั่นชื่อด้วยเครื่องหมายจุลภาค ช่วยให้สรุปกลุ่มข้อมูลชนิดเดียวกันไว้ใกล้กันเพื่ออ่านและดูแลรักษาง่ายขึ้น เช่น

C#
int scoreThai = 80, scoreMath = 90, scoreSci = 85;
Console.WriteLine($"TH:{scoreThai}, MATH:{scoreMath}, SCI:{scoreSci}");
  • int scoreThai = 80, scoreMath = 90, scoreSci = 85; ประกาศ int สามตัว คั่นด้วยจุลภาค และกำหนดค่าเริ่มต้นทันที
  • Console.WriteLine(...) แสดงผลคะแนนแต่ละวิชาแบบอ่านง่าย

กำหนดค่าเดียวกันให้หลายตัวแปรในครั้งเดียว

C# รองรับการโยงค่ากำหนด (chained assignment) เช่น a = b = c = 50; ซึ่งทำให้ทุกตัวรับค่าร่วมกันในบรรทัดเดียว เช่น

C#
int red, green, blue;
red = green = blue = 128;
Console.WriteLine($"RGB = ({red}, {green}, {blue})");
  • ประกาศ int red, green, blue; ยังไม่กำหนดค่า
  • red = green = blue = 128; ทั้งสามตัวได้รับการกำหนดค่า 128 พร้อมกัน
  • แสดงผล RGB เพื่อยืนยันค่าที่เท่ากันทุกตัว

ใช้ const ประกาศค่าคงที่หลายค่าในบรรทัดเดียว

เมื่อไม่ต้องการให้เปลี่ยนค่าตัวแปร สามารถใช้ const สร้างตัวแปรค่าคงที่เพื่อความชัดเจนและปลอดภัยได้ เช่น

C#
namespace MyConsoleApp
{
    internal class Program
    {
        const int MAX_ROW = 10, MAX_COL = 5, PAGE_SIZE = 50;
        static void Main(string[] args)
        {
            Console.WriteLine($"Max grid = {MAX_ROW}x{MAX_COL}, Page = {PAGE_SIZE}");
        }
    }
}
  • const int MAX_ROW = 10, MAX_COL = 5, PAGE_SIZE = 50; — ค่าคงที่ชนิด int สามตัวในบรรทัดเดียว

การใช้ Deconstruction

การ deconstruct ช่วยแบ่งค่าจากทูเพิลไปยังตัวแปรหลายตัวอย่างชัดเจน เช่น

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            (int day, int month, int year) = (1, 11, 2025);
            Console.WriteLine($"{day:D2}/{month:D2}/{year}");
        }
    }
}
  • (int day, int month, int year) = (1, 11, 2025); สร้างตัวแปร 3 ตัวจากทูเพิลเดียว
  • ใช้รูปแบบ {D2} เพื่อพิมพ์วัน/เดือนเป็นสองหลัก

ข้อควรระวังและแนวปฏิบัติในการประกาศตัวแปรหลายตัวพร้อมกัน

เพื่อความถูกต้องและอ่านง่าย ควรยึดแนวทางดังนี้

  1. ชนิดต้องเหมือนกัน ในบรรทัดเดียวกันต้องเป็นชนิดเดียว เช่น int a, b, c;
  2. อ่านง่ายสำคัญกว่า “สั้น” หากตัวแปรมีคำอธิบายยาว/ซับซ้อน แยกหลายบรรทัดจะอ่านง่ายกว่า
  3. ตั้งชื่อให้สื่อความหมาย เช่น width, height ดีกว่า w, h ซึ่งเดายากว่าคืออะไร

ตัวอย่างการประกาศตัวแปรหลายตัวพร้อมกันในภาษา C#

การประกาศตัวแปรหลายตัวพร้อมกันในภาษา C# โดยใช้หลายเทคนิคร่วมกัน มีตัวอย่างดังนี้

C#
namespace MyConsoleApp
{
    internal class Program
    {
        const int MAX_ITEMS = 3, DEFAULT_STOCK = 10;
        static void Main(string[] args)
        {
            // 1) ประกาศหลายตัวแปรชนิดเดียวกัน
            int itemA = 120, itemB = 150, itemC = 175;
            int tax = 7, fee = 3;

            // 2) กำหนดค่าเดียวกันให้หลายตัวแปร
            int s1, s2, s3;
            s1 = s2 = s3 = DEFAULT_STOCK;
            

            // 3) คำนวณรวมราคา + แสดงผล            
            int total = itemA + itemB + itemC;
            Console.WriteLine($"Max:{MAX_ITEMS} | PriceSum:{total} | Stocks:{s1},{s2},{s3} | Tax:{tax}% Fee:{fee}%");
        }
    }
}
แชร์เรื่องนี้