สารบัญ:
คำจำกัดความ - ค่าคงที่หมายถึงอะไร
ในบริบทของ C # ค่าคงที่คือชนิดของเขตข้อมูลหรือตัวแปรท้องถิ่นที่มีการตั้งค่า ณ เวลารวบรวมและไม่สามารถเปลี่ยนแปลงได้ในเวลาทำงาน มันคล้ายกับตัวแปรโดยมีชื่อค่าและตำแหน่งหน่วยความจำ อย่างไรก็ตามมันแตกต่างจากตัวแปรตามลักษณะของการเริ่มต้นเพียงครั้งเดียวในแอปพลิเคชัน มีการประกาศค่าคงที่โดยใช้คำหลัก "const"
ตัวแปรของชนิดในตัวไม่รวม System.Object ซึ่งมีค่าที่ไม่เปลี่ยนแปลงในเวลารวบรวมสามารถประกาศเป็นค่าคงที่ ในระหว่างการรวบรวมค่าคงที่จะถูกแทนที่ด้วยค่าตัวอักษรลงในรหัสภาษากลางโดยคอมไพเลอร์ ซึ่งจะส่งผลให้แอปพลิเคชันสมบูรณ์ยิ่งขึ้นโดยลดข้อผิดพลาดที่ไม่ตั้งใจ การใช้ค่าคงที่ยังช่วยเพิ่มประสิทธิภาพการทำงานมากกว่าตัวแปรปกติ มันช่วยปรับปรุงการอ่านรหัสและให้การบำรุงรักษาที่ดีขึ้นเพราะมันง่ายต่อการปรับปรุงค่าคงที่ในที่เดียวก่อนที่จะรวบรวมซอฟต์แวร์ใหม่
Techopedia อธิบายค่าคงที่
ค่าคงที่มีคุณสมบัติดังต่อไปนี้หรือต้องปฏิบัติตามกฎต่อไปนี้:
- ค่าคงที่ประเภทที่กำหนดอย่างน้อยหนึ่งค่าสามารถประกาศในการประกาศเดียว
- ค่าคงที่สามารถเป็นชนิดใดก็ได้เช่น sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, ทศนิยม, bool, สตริง, enum-type หรือประเภทการอ้างอิง
- ประเภทของค่าคงที่ควรจะสามารถเข้าถึงได้อย่างน้อยเท่ากับค่าคงที่
- ค่าคงที่สามารถขึ้นอยู่กับค่าคงที่อื่น ๆ หากการพึ่งพาไม่ใช่ลักษณะวงกลม
- ไม่สามารถใช้ค่าคงที่สำหรับวิธีการคุณสมบัติหรือเหตุการณ์
- ค่าคงที่ไม่สามารถเป็นประเภทที่ผู้ใช้กำหนดเช่นคลาส struct และอาร์เรย์
- ในขณะที่ประกาศค่าคงที่ตัวแก้ไขแบบคงที่ไม่สามารถใช้งานได้
- การกำหนดตัวแปรคงที่ที่กำหนดไว้แล้วที่รันไทม์ส่งผลให้เกิดข้อผิดพลาดในการรวบรวม
- เนื่องจากไม่มีที่อยู่เชื่อมโยงกับค่าคงที่ ณ รันไทม์จึงไม่สามารถส่งผ่านโดยการอ้างอิงและไม่สามารถปรากฏเป็นค่า l ในนิพจน์
- ค่าคงที่สามารถใช้กับตัวดัดแปลงการเข้าถึงเช่นสาธารณะส่วนตัวป้องกันภายในหรือป้องกันภายใน
- ประกาศอย่างต่อเนื่องที่ทำในระดับชั้นจะถูกเก็บไว้ในเมตาดาต้าประกอบ
แนวทางปฏิบัติที่ดีที่สุดบางข้อในขณะใช้ค่าคงที่ ได้แก่ :
- ค่าคงที่จะต้องเริ่มต้นในระหว่างการประกาศ
- ค่าคงที่จะใช้กับชื่อที่มีความหมายเนื่องจากเป็นตัวแทนของค่าพิเศษ
- ในการกำหนดค่าคงที่แบบไม่อินทิกรัล / อินทิกรัลหลายคลาสคลาสแบบสแตติกเดียว (ที่มีตัวแปรสมาชิกคงที่) สามารถใช้เพื่อจัดกลุ่มพวกเขา
- ขอบเขตของตัวแปรคงที่ถูก จำกัด ไว้ที่แอสเซมบลีคลาสหรือวิธีการเดียว ดังนั้นในขณะที่อ้างอิงค่าคงที่ที่กำหนดในชุดประกอบอื่น ๆ จะต้องมีการคอมไพล์ใหม่สำหรับการแก้ไขใด ๆ ก่อนที่จะรวบรวมแอสเซมบลีที่ขึ้นต่อกัน
ค่าคงที่แตกต่างจากตัวแปร readonly ซึ่งจำเป็นต้องมีการเตรียมใช้งานในอดีตในช่วงเวลาการประกาศและเป็นแบบคงที่ในขณะที่หลังสามารถเริ่มต้นได้ในระหว่างการประกาศหรือหนึ่งครั้งใด ๆ (เช่นในคอนสตรัคเพื่อให้มีค่าที่แตกต่างกัน ) ดังนั้นค่าคงที่เรียกว่าค่าคงที่เวลารวบรวมและตัวแปรอ่านอย่างเดียวคือค่าคงที่รันไทม์
คำจำกัดความนี้ถูกเขียนในบริบทของ C #