Передача управления от конструктора конструктору - C#

Узнай цену своей работы

Формулировка задачи:

А как можно сделать , чтобы в программе вместо строки : public B() : this (5,3) { } вместо 5 и 3 можно было бы подставлять значение свойства и значение какого-то поля класса B ? Чтобы соответствовало заданию : “ Разработать конструктор для инициализации массива, который при своем вызове передает управление собственному конструктору класса В “. Дело в том , что у меня в программе нужно использовать значение свойства и значение какого-то поля класса B . Пробовал сам сделать , перебрал разные варианты , что-то не так не получается. Само задание : В класс В добавить поле-массив. Разработать конструктор для инициализации массива, который при своем вызове передает управление собственному конструктору класса В. Размер массива – поле , инициализация элементов массива: свойство с2 класса B, умноженное на индекс элемента массива. В программе вывести на экран элементы массива. Для вывода использовать цикл foreach.
using System;
namespace Lab2
{
    class B
    {
        
        public int[] arr;
 
        public B(int length, int initialValue)
        {
            arr = new int[length];               
            for (int i = 0; i < length; i++)
                arr[i] = i*initialValue ;
        }
 
        public B() : this (5,3) { }
    }
 
    class Program
    {
        static void Main()
        {
            B x = new B();
 
            foreach (int element in x.arr)
            {
                Console.WriteLine(element);
            }
 
            Console.ReadKey();
        }
    }
}

Решение задачи: «Передача управления от конструктора конструктору»

textual
Листинг программы
using System;
namespace Lab2
{
    class B
    {
 
        public int[] arr;
        int count;
        int c2 { set; get; }
 
        public B(int length, int initialValue): this(initialValue)
        {
            count = length;
            arr = new int[count];
            for (int i = 0; i < count; i++)
                arr[i] = i * c2;
        }
 
        B(int initialValue)
        {
            c2 = initialValue;
        }
    }
 
    class Program
    {
        static void Main()
        {
            B x = new B(10, 2);
 
            foreach (int element in x.arr)
            {
                Console.WriteLine(element);
            }
 
            Console.ReadKey();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы