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

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

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

А как можно сделать , чтобы в программе вместо строки : public B() : this (5,3) { } вместо 5 и 3 можно было бы подставлять значение свойства и значение какого-то поля класса B ? Чтобы соответствовало заданию : “ Разработать конструктор для инициализации массива, который при своем вызове передает управление собственному конструктору класса В “. Дело в том , что у меня в программе нужно использовать значение свойства и значение какого-то поля класса B . Пробовал сам сделать , перебрал разные варианты , что-то не так не получается. Само задание : В класс В добавить поле-массив. Разработать конструктор для инициализации массива, который при своем вызове передает управление собственному конструктору класса В. Размер массива – поле , инициализация элементов массива: свойство с2 класса B, умноженное на индекс элемента массива. В программе вывести на экран элементы массива. Для вывода использовать цикл foreach.
Листинг программы
  1. using System;
  2. namespace Lab2
  3. {
  4. class B
  5. {
  6. public int[] arr;
  7. public B(int length, int initialValue)
  8. {
  9. arr = new int[length];
  10. for (int i = 0; i < length; i++)
  11. arr[i] = i*initialValue ;
  12. }
  13. public B() : this (5,3) { }
  14. }
  15. class Program
  16. {
  17. static void Main()
  18. {
  19. B x = new B();
  20. foreach (int element in x.arr)
  21. {
  22. Console.WriteLine(element);
  23. }
  24. Console.ReadKey();
  25. }
  26. }
  27. }

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

textual
Листинг программы
  1. using System;
  2. namespace Lab2
  3. {
  4.     class B
  5.     {
  6.  
  7.         public int[] arr;
  8.         int count;
  9.         int c2 { set; get; }
  10.  
  11.         public B(int length, int initialValue): this(initialValue)
  12.         {
  13.             count = length;
  14.             arr = new int[count];
  15.             for (int i = 0; i < count; i++)
  16.                 arr[i] = i * c2;
  17.         }
  18.  
  19.         B(int initialValue)
  20.         {
  21.             c2 = initialValue;
  22.         }
  23.     }
  24.  
  25.     class Program
  26.     {
  27.         static void Main()
  28.         {
  29.             B x = new B(10, 2);
  30.  
  31.             foreach (int element in x.arr)
  32.             {
  33.                 Console.WriteLine(element);
  34.             }
  35.  
  36.             Console.ReadKey();
  37.         }
  38.     }
  39. }

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


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

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

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы