Передача управления от конструктора конструктору - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д