示例#1
0
        static void Main()
        {
            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();
        }
示例#2
0
        static void Main()
        {
            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();
        }
示例#3
0
        static void Main()
        {
            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();
        }