示例#1
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];
                Console.Write(x + " ");
            }
            Console.WriteLine();
            // fs.Length = 10; // Ошибка, запись запрещена!

            // Использовать свойство Error.
            for (int i = 0; i < fs.Length + 1; i++)
            {
                fs[i] = i * 10;
                if (fs.Error)
                {
                    Console.WriteLine("Ошибка в индексе " + i);
                }
            }
        }
示例#2
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);
                }
            }
        }
示例#3
0
        static void Main()
        {
            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]);
        }
示例#4
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 + "] вне границ");
                }
            }
        }