static void Main(string[] args) { FailSoftArray fs = new FailSoftArray(5); int x; // Выявить скрытые сбои. Console.WriteLine("Скрытый сбой."); for (int i = 0; i < (fs.Length * 2); i++) { fs[i] = i * 10; } for (int i = 0; i < (fs.Length * 2); i++) { x = fs[i]; if (x != -1) { Console.Write(x + " "); } } Console.WriteLine(); // А теперь показать сбои. Console.WriteLine("\nСбой с уведомлением об ошибках."); for (int i = 0; i < (fs.Length * 2); i++) { fs[i] = i * 10; if (fs.ErrFlag) { Console.WriteLine("fs[" + i + "] вне границ"); } } for (int i = 0; i < (fs.Length * 2); i++) { x = fs[i]; if (!fs.ErrFlag) { Console.Write(x + " "); } else { Console.WriteLine("fs[" + i + "] вне границ"); } } Console.ReadKey(); }
static void Main(string[] args) { FailSoftArray fs = new FailSoftArray(5); // Использовать свойство Error. for (int i = 0; i < fs.Length + 1; i++) { fs[i] = i * 10; if (fs.Error) { Console.WriteLine("Ошибка в индексе " + i); } } Console.ReadKey(); }
static void Main(string[] args) { FailSoftArray fs = new FailSoftArray(5); // Поместить ряд значений в массив fs. for (int i = 0; i < fs.Length; i++) { fs[i] = i; } // А теперь воспользоваться индексами // типа int и double для обращения к массиву. Console.WriteLine("fs[1] : " + fs[1]); Console.WriteLine("fs[2] : " + fs[2]); Console.WriteLine("fs[1.1]: " + fs[1.1]); Console.WriteLine("fs[1.6]: " + fs[1.6]); Console.ReadKey(); }
static void Main(string[] args) { FailSoftArray fs = new FailSoftArray(5); int x; // Разрешить чтение свойства Length. for (int i = 0; i < fs.Length; i++) { fs[i] = i * 10; } for (int i = 0; i < fs.Length; i++) { x = fs[i]; if (x != -1) { Console.Write(x + " "); } } Console.WriteLine(); // fs.Length = 10; // Ошибка, запись запрещена! Console.ReadKey(); }