0

У меня есть класс в котором обьявлены массивы:

public  class Class1
    {

     public  string[] Names { get; set; } = new string[100];
     public int[] Age { get; set; } = new int[100];

    }

Во втором классе они меняются:

Class1 class1= new Class1();
class1.Names[0] = "Bob";
class1.Age[0] = 30;

В третьем они должны выводится в консоль,но ничего не выводится(как я понимаю,изменения внесенные во втором классе не видно в третьем,и он просто выводит пустые значения)

private Class1 Class1;
Class1  = Class1;
Console.WriteLine("{0,1}",Class1.Names[0]);
Console.WriteLine("{0,1}",Class1.Age[0]);
  • Вы купили новую машину, сделали ей тюнинг, далее купили еще одну машину, будет ли в ней этот тюнинг? Также и тут, вы везде инициализируете класс по новой, создавая совершенно чистейший, новый объект. Передавайте ссылку на уже ранее инициализированный класс, работайте с ней и будет вам счастье. – EvgeniyZ Mar 26 '19 at 14:50
  • Сделайте свойства статическими, тогда все получится. Но вообще вы похоже не улавливаете разницы между классом и его экземплярами. – Bulson Mar 26 '19 at 14:51
  • @EvgeniyZ ,а можете подсказать,как это сделать? – Богдан Mar 26 '19 at 14:56
  • Воспринимайте класс как чертеж дома или какой-то детали. Когда вы пишете new Class1(); вы построили новый дом или выточили новую деталь по этому чертежу. У каждого типового дома свой житель, а у каждой детали свой кусок металла из которого она сделана. – Bulson Mar 26 '19 at 14:56
  • @Bulson,я понял свою ошибку,но я не могу понять как можно передать данные по-другому. Буду очень благодарен если обьясните или покажете на примере – Богдан Mar 26 '19 at 14:58
  • @Богдан Я как то писал такой ответ, поглядите, думаю будет полезно. – EvgeniyZ Mar 26 '19 at 15:00
  • @EvgeniyZ Попытался сделать по примеру, получаю ошибку "Ссылка на объект не указывает на экземпляр объекта." код в вопросе поменял. В чем ошибка? – Богдан Mar 26 '19 at 15:14
  • @Богдан = Class1 что это? – EvgeniyZ Mar 26 '19 at 15:15
  • Ну,у Вас в примере было MainClass = MainClass;. Я сделал так же со своим классом. Получается передал ссылку – Богдан Mar 26 '19 at 15:18
  • @Богдан Да, но = MainClass в том примере задается через конструктор (public MySecondClass(MainClass MainClass)), через который в последующем и передается уже инициализированный объект. Где у вас это все? – EvgeniyZ Mar 26 '19 at 15:24
  • @EvgeniyZ Спасибо,разобрался. Можете добавить ответ,что бы я мог отметить его как лучший? – Богдан Mar 26 '19 at 15:38
  • @Богдан Тут не отвечать надо, а дубликатом отметить. – EvgeniyZ Mar 26 '19 at 17:35

0 Answers0