Xatoliklardan xoli massivni yanada yaxshilash uchun xususiyatdan foydalanamiz. Siz allaqachon ma`lum, barcha massivlar tegishli uzunlik(Length) xususiyatiga ega. Hozirgacha FailSoftArraysinfida bu maqsad uchun ochiq Lengthbutun maydoni ishlatilgan. Lekin bu eng yaxshi yondashuv emas, chunki u xatoliklardan xoli massiv uzunligiga farq qiluvchi qiymatlarni o'rnatishga imkon beradi. (Masalan, zararli maqsadlarni ko'zlagan dasturchi bu maydonga noto'g'ri qiymatni ataylab kiritishi mumkin.) Ushbu pozitsiyani tuzatish uchun FailSoftArray sinfining Length maydonini "faqat o'qish" xususiyatiga aylantiramiz // FailSoftArray sinfiga Length xususiyatini qo'shish. using System; class FailSoftArray { int[] a; // asosiy massivga havola int len; // Massiv uzunligi sifatida Length xususiyati asos bo'lib xizmat qiladi. public bool ErrFlag; // oxirgi operatsiya natijasini belgilaydi // Berilgan o`lchovda massiv qurish public FailSoftArray(int size) { a = new int[size]; len = size; } // Length xususiyati faqat o'qish uchun public int Length { get { return len; } } // FailSoftArray sinfi uchun indeksator. public int this[int index] { // get aksessori. get { if(ok(index)) { ErrFlag = false; return a[index]; } else { ErrFlag = true; return 0; } } // set aksessori. set { if(ok(index)) {