ตัวแปรในภาษา C# และวิธีประกาศและใช้งาน

ตัวแปรในภาษา C# และวิธีประกาศและใช้งาน
หนึ่งในพื้นฐานที่สำคัญที่สุดของการเขียนโปรแกรม คือ “ตัวแปร (Variable)” ในภาษา C# (C-Sharp) ตัวแปรมีหน้าที่เก็บข้อมูลไว้ในหน่วยความจำ เพื่อให้เราสามารถนำข้อมูลนั้นมาใช้งานหรือเปลี่ยนแปลงได้ในภายหลัง เช่น เก็บชื่อ อายุ คะแนน หรือผลลัพธ์จากการคำนวณต่าง ๆ

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

ตัวแปรคืออะไร

ตัวแปร (Variable) คือพื้นที่เก็บข้อมูลในหน่วยความจำของคอมพิวเตอร์ที่มี “ชื่อ” กำกับอยู่ เพื่อให้เราสามารถเข้าถึงและนำค่าภายในมาใช้งานได้

ตัวอย่างเช่น หากเราต้องการเก็บอายุของผู้ใช้ เราสามารถสร้างตัวแปรชื่อ age แล้วกำหนดค่าให้มันได้แบบนี้

C#
int age = 25;
  • int คือชนิดข้อมูล (Data Type) ของตัวแปร หมายถึง “จำนวนเต็ม”
  • age คือชื่อของตัวแปร
  • = คือเครื่องหมายกำหนดค่า (Assignment Operator)
  • 25 คือค่าที่ถูกเก็บไว้ในตัวแปร

หน้าที่ของตัวแปร

ตัวแปรในภาษา C# มีหน้าที่หลักดังนี้

  1. เก็บข้อมูลชั่วคราวในหน่วยความจำ (Store data in memory)
    เช่น ข้อมูลจากผู้ใช้ ผลลัพธ์จากการคำนวณ หรือค่าที่โปรแกรมต้องใช้ระหว่างทำงาน
  2. นำค่ามาใช้งาน (Access and reuse)
    สามารถนำค่าที่เก็บไว้มาคำนวณ หรือแสดงผลในภายหลัง
  3. ช่วยให้โค้ดอ่านง่ายและแก้ไขสะดวก
    การใช้ตัวแปรแทนค่าตรง ๆ ช่วยให้โปรแกรมเข้าใจง่ายและแก้ไขค่าภายหลังได้สะดวก

โครงสร้างการประกาศตัวแปรในภาษา C#

รูปแบบพื้นฐานของการประกาศตัวแปรคือ

ชนิดข้อมูล ชื่อตัวแปร = ค่าที่กำหนดเริ่มต้น;

เช่น

C#
int number = 10;
string name = "Somchai";
bool isStudent = true;
  • int → เก็บค่าตัวเลขจำนวนเต็ม
  • string → เก็บข้อความ (String)
  • bool → เก็บค่าความจริง (true หรือ false)
  • เครื่องหมาย = ใช้สำหรับกำหนดค่าเริ่มต้นให้กับตัวแปร

การประกาศตัวแปรแบบไม่กำหนดค่าเริ่มต้น

ในบางกรณีสามารถประกาศตัวแปรโดยยังไม่ต้องกำหนดค่าได้ แต่ต้องกำหนดค่าให้ก่อนนำไปใช้งานจริง มิฉะนั้นโปรแกรมจะเกิด Error

C#
int score;
score = 90;
Console.WriteLine(score);
  • ประกาศตัวแปรชื่อ score โดยยังไม่กำหนดค่า
  • บรรทัดถัดมาให้ค่า score = 90;
  • ใช้ Console.WriteLine(score); แสดงค่าบนหน้าจอ

การประกาศหลายตัวแปรในบรรทัดเดียว

เราสามารถประกาศตัวแปรหลายตัวที่มีชนิดข้อมูลเดียวกันในบรรทัดเดียวได้

C#
int a = 5, b = 10, c = 15;
  • ตัวแปรทั้งสาม (a, b, c) เป็นชนิด int
  • ถูกกำหนดค่าเริ่มต้น 5, 10 และ 15 ตามลำดับ

ตัวแปรแบบ Implicit (ใช้ var)

C# รองรับการประกาศตัวแปรโดยไม่ต้องระบุชนิดข้อมูลโดยตรง โดยใช้คำว่า var แทน ซึ่งคอมไพเลอร์จะ “เดา” ชนิดข้อมูลจากค่าที่กำหนดให้

C#
var name = "Somchai";  // string
var age = 25;           // int
var price = 99.99;      // double
  • คำว่า var บอกให้ C# ตรวจสอบชนิดข้อมูลอัตโนมัติจากค่าที่กำหนด
  • ตัวแปร name ถูกตีความเป็น string, age เป็น int, price เป็น double
  • ไม่สามารถเปลี่ยนชนิดข้อมูลของตัวแปรได้หลังจากกำหนดค่าแล้ว

การใช้คีย์เวิร์ด const

ถ้าค่าของตัวแปรไม่ควรถูกเปลี่ยนแปลง ให้ประกาศเป็น ค่าคงที่ (Constant) ด้วยคำว่า const

C#
const double PI = 3.14159;
const int MaxScore = 100;
  • const หมายถึงค่าคงที่ ไม่สามารถแก้ไขได้หลังจากประกาศ
  • เหมาะกับค่าที่แน่นอน เช่น ค่าคงที่ทางคณิตศาสตร์ หรือค่าที่ไม่ควรถูกเปลี่ยนระหว่างการทำงานของโปรแกรม

การใช้คีย์เวิร์ด readonly

readonly คล้ายกับ const แต่ต่างกันตรงที่สามารถกำหนดค่าได้ ภายใน Constructor เหมาะสำหรับค่าที่ทราบเฉพาะตอนสร้างอ็อบเจกต์

C#
class Circle
{
    public readonly double Radius;

    public Circle(double r)
    {
        Radius = r;  // กำหนดค่าได้ใน Constructor เท่านั้น
    }
}
  • ตัวแปร Radius เป็นชนิด readonly
  • สามารถกำหนดค่าได้เฉพาะตอนสร้างอ็อบเจกต์ (new Circle(5))
  • หลังจากนั้นจะไม่สามารถแก้ไขค่าได้อีก

ตัวอย่างการใช้งานตัวแปร

C#
namespace MyConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string name = "สมชาย";
            int age = 25;
            const double PI = 3.14159;
            var height = 175.5;

            Console.WriteLine($"ชื่อ: {name}");
            Console.WriteLine($"อายุ: {age}");
            Console.WriteLine($"ส่วนสูง: {height}");
            Console.WriteLine($"ค่าพาย (PI): {PI}");
        }
    }
}
  • ประกาศตัวแปรหลายชนิด (string, int, double, const)
  • ใช้ var สำหรับค่าที่คอมไพเลอร์สามารถอนุมานได้
  • ใช้ Console.WriteLine() แสดงค่าของแต่ละตัวแปรออกทางหน้าจอ
  • โปรแกรมนี้จะพิมพ์ข้อมูลของผู้ใช้พร้อมค่าคงที่ในรูปแบบที่อ่านง่าย

คล็ดลับการตั้งชื่อตัวแปร (Variable Naming Best Practices)

  1. ใช้ชื่อที่สื่อความหมาย เช่น studentName, totalPrice, isActive
  2. ใช้รูปแบบ camelCase สำหรับตัวแปรทั่วไป (firstName, lastScore)
  3. ใช้ PascalCase สำหรับค่าคงที่หรือ Property (MaxScore, TotalAmount)
  4. หลีกเลี่ยงชื่อสั้น ๆ หรือไม่สื่อความหมาย เช่น a, b, temp
  5. ห้ามใช้คำสงวนของภาษา เช่น int, class, for, return เป็นต้น
แชร์เรื่องนี้