ฟิลด์ที่ระบุว่า "อ่านอย่างเดียว" สามารถตั้งค่าได้เพียงครั้งเดียวระหว่างการสร้างอ็อบเจ็กต์ ไม่สามารถเปลี่ยนแปลงได้ -
เรามาดูตัวอย่างกัน
class Employee { readonly int salary; Employee(int salary) { this.salary = salary; } void UpdateSalary() { //salary = 50000; // Compile error } }
ด้านบนเราได้ตั้งค่าฟิลด์เงินเดือนเป็นแบบอ่านอย่างเดียว
หากคุณจะเปลี่ยน จะเกิดข้อผิดพลาดในการคอมไพล์ ดังแสดงในตัวอย่างข้างต้น
ให้เรามาดูวิธีการตรวจสอบว่าอาร์เรย์เป็นแบบอ่านอย่างเดียวหรือไม่ -
ตัวอย่าง
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace lower { class Program { static void Main(string[] args) { Array arr = Array.CreateInstance(typeof(String), 3); arr.SetValue("Maths", 0); arr.SetValue("Science", 1); arr.SetValue("PHP", 2); Console.WriteLine("isReadOnly: {0}",arr.IsReadOnly.ToString()); } } }