ตัวแปรในภาษา C# และวิธีประกาศและใช้งาน
หนึ่งในพื้นฐานที่สำคัญที่สุดของการเขียนโปรแกรม คือ “ตัวแปร (Variable)” ในภาษา C# (C-Sharp) ตัวแปรมีหน้าที่เก็บข้อมูลไว้ในหน่วยความจำ เพื่อให้เราสามารถนำข้อมูลนั้นมาใช้งานหรือเปลี่ยนแปลงได้ในภายหลัง เช่น เก็บชื่อ อายุ คะแนน หรือผลลัพธ์จากการคำนวณต่าง ๆ
การเข้าใจตัวแปรอย่างถ่องแท้จะช่วยให้เราเขียนโปรแกรมได้อย่างเป็นระบบและมีประสิทธิภาพมากขึ้น
ตัวแปรคืออะไร
ตัวแปร (Variable) คือพื้นที่เก็บข้อมูลในหน่วยความจำของคอมพิวเตอร์ที่มี “ชื่อ” กำกับอยู่ เพื่อให้เราสามารถเข้าถึงและนำค่าภายในมาใช้งานได้
ตัวอย่างเช่น หากเราต้องการเก็บอายุของผู้ใช้ เราสามารถสร้างตัวแปรชื่อ age แล้วกำหนดค่าให้มันได้แบบนี้
int age = 25;intคือชนิดข้อมูล (Data Type) ของตัวแปร หมายถึง “จำนวนเต็ม”ageคือชื่อของตัวแปร=คือเครื่องหมายกำหนดค่า (Assignment Operator)25คือค่าที่ถูกเก็บไว้ในตัวแปร
หน้าที่ของตัวแปร
ตัวแปรในภาษา C# มีหน้าที่หลักดังนี้
- เก็บข้อมูลชั่วคราวในหน่วยความจำ (Store data in memory)
เช่น ข้อมูลจากผู้ใช้ ผลลัพธ์จากการคำนวณ หรือค่าที่โปรแกรมต้องใช้ระหว่างทำงาน - นำค่ามาใช้งาน (Access and reuse)
สามารถนำค่าที่เก็บไว้มาคำนวณ หรือแสดงผลในภายหลัง - ช่วยให้โค้ดอ่านง่ายและแก้ไขสะดวก
การใช้ตัวแปรแทนค่าตรง ๆ ช่วยให้โปรแกรมเข้าใจง่ายและแก้ไขค่าภายหลังได้สะดวก
โครงสร้างการประกาศตัวแปรในภาษา C#
รูปแบบพื้นฐานของการประกาศตัวแปรคือ
ชนิดข้อมูล ชื่อตัวแปร = ค่าที่กำหนดเริ่มต้น;
เช่น
int number = 10;
string name = "Somchai";
bool isStudent = true;int→ เก็บค่าตัวเลขจำนวนเต็มstring→ เก็บข้อความ (String)bool→ เก็บค่าความจริง (trueหรือfalse)- เครื่องหมาย
=ใช้สำหรับกำหนดค่าเริ่มต้นให้กับตัวแปร
การประกาศตัวแปรแบบไม่กำหนดค่าเริ่มต้น
ในบางกรณีสามารถประกาศตัวแปรโดยยังไม่ต้องกำหนดค่าได้ แต่ต้องกำหนดค่าให้ก่อนนำไปใช้งานจริง มิฉะนั้นโปรแกรมจะเกิด Error
int score;
score = 90;
Console.WriteLine(score);- ประกาศตัวแปรชื่อ
scoreโดยยังไม่กำหนดค่า - บรรทัดถัดมาให้ค่า
score = 90; - ใช้
Console.WriteLine(score);แสดงค่าบนหน้าจอ
การประกาศหลายตัวแปรในบรรทัดเดียว
เราสามารถประกาศตัวแปรหลายตัวที่มีชนิดข้อมูลเดียวกันในบรรทัดเดียวได้
int a = 5, b = 10, c = 15;- ตัวแปรทั้งสาม (
a,b,c) เป็นชนิดint - ถูกกำหนดค่าเริ่มต้น 5, 10 และ 15 ตามลำดับ
ตัวแปรแบบ Implicit (ใช้ var)
C# รองรับการประกาศตัวแปรโดยไม่ต้องระบุชนิดข้อมูลโดยตรง โดยใช้คำว่า var แทน ซึ่งคอมไพเลอร์จะ “เดา” ชนิดข้อมูลจากค่าที่กำหนดให้
var name = "Somchai"; // string
var age = 25; // int
var price = 99.99; // double- คำว่า
varบอกให้ C# ตรวจสอบชนิดข้อมูลอัตโนมัติจากค่าที่กำหนด - ตัวแปร
nameถูกตีความเป็นstring,ageเป็นint,priceเป็นdouble - ไม่สามารถเปลี่ยนชนิดข้อมูลของตัวแปรได้หลังจากกำหนดค่าแล้ว
การใช้คีย์เวิร์ด const
ถ้าค่าของตัวแปรไม่ควรถูกเปลี่ยนแปลง ให้ประกาศเป็น ค่าคงที่ (Constant) ด้วยคำว่า const
const double PI = 3.14159;
const int MaxScore = 100;constหมายถึงค่าคงที่ ไม่สามารถแก้ไขได้หลังจากประกาศ- เหมาะกับค่าที่แน่นอน เช่น ค่าคงที่ทางคณิตศาสตร์ หรือค่าที่ไม่ควรถูกเปลี่ยนระหว่างการทำงานของโปรแกรม
การใช้คีย์เวิร์ด readonly
readonly คล้ายกับ const แต่ต่างกันตรงที่สามารถกำหนดค่าได้ ภายใน Constructor เหมาะสำหรับค่าที่ทราบเฉพาะตอนสร้างอ็อบเจกต์
class Circle
{
public readonly double Radius;
public Circle(double r)
{
Radius = r; // กำหนดค่าได้ใน Constructor เท่านั้น
}
}- ตัวแปร
Radiusเป็นชนิดreadonly - สามารถกำหนดค่าได้เฉพาะตอนสร้างอ็อบเจกต์ (
new Circle(5)) - หลังจากนั้นจะไม่สามารถแก้ไขค่าได้อีก
ตัวอย่างการใช้งานตัวแปร
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)
- ใช้ชื่อที่สื่อความหมาย เช่น
studentName,totalPrice,isActive - ใช้รูปแบบ camelCase สำหรับตัวแปรทั่วไป (
firstName,lastScore) - ใช้ PascalCase สำหรับค่าคงที่หรือ Property (
MaxScore,TotalAmount) - หลีกเลี่ยงชื่อสั้น ๆ หรือไม่สื่อความหมาย เช่น
a,b,temp - ห้ามใช้คำสงวนของภาษา เช่น
int,class,for,returnเป็นต้น
