Хорошо, я не очень хорошо объясняю, но в основном у меня есть простой класс - скажем что-то вроде этого:
class Dog
{
public String Name { get; set; }
public String Breed { get; set; }
}
Затем у меня есть этот другой класс:
static class DogData
{
static public Dog[] Dogs
{
get
{
//Dog[] Dogs = new Dog[2]; - unnecessary, as pointed out by helpful Samaritans
ResetDogData();
return _dogs;
}
set { }
}
static public Dog[] _dogs;
static private void ResetDogData()
{
Dog[] _dogs = new Dog[2];
if (_dogs[0] == null)
{
_dogs[0] = new Dog();
_dogs[0].Name = "Johny";
_dogs[0].Breed = "German Shepard";
}
if (_dogs[1] == null)
{
_dogs[1] = new Dog();
_dogs[1].Name = "Sally";
_dogs[1].Breed = "Alaskan Malamute";
}
}
Идея заключалась в том, чтобы массив Dogs заполнялся вводом с консоли, а если элемент массива равен нулю - получать его данные из ResetDogData (). Но прежде чем пытаться это сделать, я хотел проверить, работает ли ResetDogData ().
И вот в чем дело - каждый раз, когда я пытаюсь распечатать его, я либо получаю «Ссылка на объект не установлена на экземпляр объекта», либо, если он компилируется, просто ничего не распечатывает (в зависимости от того, каким образом я пробовал это делать). Поэтому мне было интересно, ошибочен ли мой код или мне просто не хватает некоторых основ работы с массивами (например, моя ошибка заключается в том, как я пытаюсь распечатать массив).
Я был бы очень благодарен, если бы кто-нибудь сказал мне, что это за два и как правильно достичь того, чего я хочу.