ค่าคงที่

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

การประกาศค่าคงที่ในภาษา C# มีรูปแบบดังนี้

const type identifier = value;

const เป็นคำสั่งที่ใช้ในการประกาศค่าคงที่ type เป็นประเภทข้อมูลของค่าคงที่โดยมีหลักการเหมือนกับการประกาศตัวแปรทั่วไป identifier นั้นเป็นชื่อของค่าคงที่ โดยส่วนมากมักจะนิยมใช้เป็นตัวพิมพ์ใหญ่ทั้งหมด value เป็นค่าของค่าคงที่ที่สร้างขึ้นและต้องกำหนดพร้อมกับตอนประกาศค่าคงที่เสมอ

การประกาศค่าคงที่

เพื่อประกาศค่าคงที่ เราทำทุกอย่างเหมือนการประกาศตัวแปรปกติ แต่จะใช้คำสั่ง const คำหน้าและกำหนดค่าให้กับมันทันที

const int SIZE= 5;
const float PI = 3.14f;
const double G = 9.8;

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

ต่อไปเป็นตัวอย่างแบบเต็มของการใช้งานค่าคงที่กับตัวแปรในภาษา C# เราจะเขียนโปรแกรมในการคำนวณหาพื้นที่ของวงกลม โดยในการทำงานกับวงกลมนั้นจะมีค่าหนึ่งที่เกี่ยวข้องคือ ค่า Pi ซึ่งเป็นค่าของอัตรส่วนระหว่างเส้นรอบวงกับเส้นผ่านศูนย์กลางของวงกลมที่มีค่าประมาณ 3.14 ดังนั้นเราจึงให้มันค่าคงที่ของเรา

using System;

class Constant
{
static void Main(string[] args)
{
const float PI = 3.14f;
float r = 4;

float area = PI * r * r;
float circumference = 2 * PI * r;
float volume = (4 / 3.0f) * PI * r * r * r;
float surface = 4 * PI * r * r;

Console.WriteLine("Circle radius = {0}", r);
Console.WriteLine("Circle area = {0}", area);
Console.WriteLine("Circle circumference = {0}", circumference);
Console.WriteLine("Circle volume = {0}", volume);
Console.WriteLine("Circle surface = {0}", surface);
}
}

ในตัวอย่าง เราได้ประกาศตัวแปรค่าคงที่ PI และนำมาคำนวณหาพื้นที่ของวงกลมด้วยสมการหาพื้นที่ เส้นรอบวง ปริมาตร และพื้นที่ผิวจากรัศมีที่ได้กำหนดในตัวแปร r ในการใช้ค่าคงที่แสดงให้เห็นว่า เราสามารถเรียกใช้ค่าคงที่ PI ที่มีความหมายเป็นค่าของตัวเลข 3.14 ซึ่งมันง่ายในการใช้งานและจดจำ ซึ่งช่วยลดความผิดพลาดในการเขียนโปรแกรมได้เป็นอย่างมาก คุณจะสังเกตุได้ว่าการใช้งานของมันนั้นจะเหมือนการใช้ตัวแปรปกติ

อย่างที่เราได้บอกไปก่อนหน้า สิ่งหนึ่งที่คุณไม่สามารถทำได้กับค่าคงที่ก็คือการกำหนดค่าใหม่ให้กับมัน ยกตัวอย่างเช่น:

const float PI = 3.14f;
PI = 1.0f; // Invalid

ซึ่งนี่จะทำให้เกิดข้อผิดพลาดขึ้น เพราะว่าโปรแกรมจะไม่ให้คุณเปลี่ยนแปลงค่าคงที่หลังจากที่มันถูกสร้างแล้ว ซึ่งมันจะมีได้เพียงค่าเดียวตลอดการทำงานของโปรแกรม

Circle radius = 4
Circle area = 50.24
Circle circumference = 25.12
Circle volume = 267.9467
Circle surface = 200.96

และนี่เป็นผลลัพธ์ของโปรแกรมในการใช้งานค่าคงที่กับการหาพื้นที่ของวงกลม และค่าต่างๆ ของวงจากรัศมีที่ระบุ

การใช้งานค่าคงที่กับอาเรย์

ต่อไปเป็นตัวอย่างในการใช้งานค่าคงที่กับอาเรย์ โดยเราจะมีค่าคงที่สำหรับการกำหนดขนาดของอาเรย์ และใส่ชื่อและคะแนนของผู้เล่นลงไปในอาเรย์ และโปรแกรมจะบอกผู้เล่นที่ชนะ ซึ่งคือผู้ทีไ่ด้รับคะแนนสูงสุด

using System;

class Constant
{
static void Main(string[] args)
{
const int SIZE = 5;

string[] names = new string[SIZE];
int[] scores = new int[SIZE];

Console.WriteLine("Enter name and score of {0} players", SIZE);
for (int i = 0; i < SIZE; i++)
{
Console.Write("Player {0} name: ", i + 1);
names[i] = Console.ReadLine();
Console.Write("Player {0} score: ", i + 1);
scores[i] = Int32.Parse(Console.ReadLine());
}

int maxIndex= 0;

for (int i = 0; i < SIZE; i++)
{
if (scores[i] > scores[maxIndex])
{
maxIndex = i;
}
}

Console.WriteLine("{0} is the winner with score {1}",
names[maxIndex], scores[maxIndex]);
}
}

ในตัวอย่าง เราได้การประกาศค่าคงที่ SIZE สำหรับกำหนดขนาดของอาเรย์ที่จะใช้เก็บชื่อและคะแนน เราได้สร้างอาเรย์ names และ scores ที่มีขนาดตามที่ได้กำหนดในค่าคงที่ SIZE คือ 5 นั่นหมายความว่าเราสร้างอาเรย์เหล่านี้มาสำหรับเก็บชื่อและคะแนนของผู้เล่นจำนวน 5 คน

 for (int i = 0; i < SIZE; i++)
{
Console.Write("Player {0} name: ", i + 1);
names[i] = Console.ReadLine();
Console.Write("Player {0} score: ", i + 1);
scores[i] = Int32.Parse(Console.ReadLine());
}

ต่อมาเราใช้คำสั่ง For loop ในการวนอ่านชื่อและคะแนนลงไปในอาเรย์ทั้งสอง โดยการวนนั้นจะวนตามจำนวนค่าคงที่ SIZE ซึ่งใช้ตัวแปร i เป็น index ของอาเรย์

int maxIndex= 0;

for (int i = 0; i < SIZE; i++)
{
if (scores[i] > scores[maxIndex])
{
maxIndex = i;
}
}

Loop ต่อมาเป็นการหาคนที่ได้คะแนนมากที่สุด เพราะว่าเรามีอาเรย์สองตัวแปร ดังนั้นเราจะหาว่า Index ไหนของอาเรย์ที่จะมีคะแนนมากที่สุดใน scores ซึ่งก็จะเป็น Index เดียวกันกับชื่อในอาเรย์ names เราได้ใช้คำสั่ง For loop ในการวนซ้ำสำหรับเปรียบเทียบเพื่อหาค่าสูงสุด และในตอนท้ายเราจะได้ Index ของอาเรย์ที่มีค่าสูงสุด

Enter name and score of 5 players
Player 1 name: Marcus
Player 1 score: 52
Player 2 name: Mateo
Player 2 score: 34
Player 3 name: Danny
Player 3 score: 80
Player 4 name: Emily
Player 4 score: 61
Player 5 name: Kate
Player 5 score: 26
Danny is the winner with score 80

นี่เป็นผลลัพธ์การทำงานของโปรแกรม โดยเราได้กรอกชื่อและคะแนนของผู้เล่นทั้ง 5 คน และได้ผู้ชนะที่มีคะแนนมากที่สุดคือ Danny ซึ่งเขามีคะแนนเป็น 80

จากในทั้งสองตัวอย่างที่ผ่านมา คุณจะเห็นได้ว่าเราสามารถใช้ค่าคงที่ในการช่วยให้การเขียนโปรแกรมมีประสิทธิภาพมากขึ้น และในตัวอย่างที่สอง เราใช้ค่าคงที่ SIZE สำหรับแทนด้วย 5 นั่นหมายความว่ามันจะเป็นเรื่องง่ายถ้าหากเราต้องการที่จะประกาศอาเรย์ที่มีขนาดเป็น 10 หรือ 20 เราเพียงแค่เปลี่ยนจากค่าคงที่เท่านั้น ดังนั้นมันจึงช่วยลดความผิดพลาดและความสับสนในการเขียนโปรแกรมได้เป็นอย่างมาก

ในบทนี้ คุณได้เรียนรู้เกี่ยวกับค่าคงที่ในภาษา C# เราได้คุณเห็นถึงวิธีการประกาศและใช้งานค่าคงที่ และการใช้ค่าคงที่กับการกำหนดขนาดของอาเรย์


บทความเกี่ยวกับ ค่าคงที่

ค่าคงที่ ในภาษา C

ค่าคงที่ (constant) เป็นตัวแปรที่ไม่สามารถเปลี่ยนแปลงค่าในภายหลังได้ ค่าของตัวแปรค่าคงที่จะต้องถูกกำหนดพร้อมกับการประกาศตัวแปรเสมอ ค่าคงที่สามารถเป็นข้อมูลประเ...

ค่าคงที่ ในภาษา Java

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับค่าคงที่ (constants) ในภาษา Java ตั้งแต่วิธีการประกาศค่าคงที่ การใช้งาน ประโยชน์และข้อได้เปรียบของการใช้งานค่าคงที่ และเรียนรู้...

ค่าคงที่ ในภาษา Visual Basic

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

ค่าคงที่ ในภาษา C++

ค่าคงที่ (constant) เป็นตัวแปรประเภทหนึ่งที่ไม่สามารถเปลี่ยนแปลงค่าได้ในขณะที่โปรแกรมทำงาน นี่หมายความว่าเราจะต้องกำหนดค่าให้ตัวแปรในเวลาที่คอมไพเลอร์ทำงานหรือใ...

ค่าคงที่ ในภาษา PHP

ค่าคงที่ (Constants) คือค่าของ Literal ใดๆ ที่ถูกกำหนดให้กับตัวแปรค่าคงที่ ค่าคงที่จะไม่สามารถเปลี่ยนแปลงได้ภายในโปรแกรมและเป็นได้เพียงค่าเดียวตั้งแต่โปรแกรมเริ...