2015-02-16 7 views
0

У меня есть простой вспомогательный класс:Null Reference исключение при назначении данных переменной

class WebsiteStatus 
{ 
    public string siteName { get; set; } 
    public Nullable<DateTime> lastDownTime { get; set; } 
} 

я делаю массив класса на основе количества сайтов, оцениваемый:

string URLs = "http://www.qqq.com;http://www.rrr.com;http://www.ttt.com;"; 
string[] sites = URLs.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
WebsiteStatus[] siteArray = new WebsiteStatus[sites.Count()]; 

Когда я попробуйте ввести данные в один из объектов в массиве. Я получаю ошибку исключения нуля:

siteArray[0].siteName = sites[0]; 

enter image description here

Я не понимаю, почему это происходит. Что я делаю не так?

+0

siteArray [0] is null – Sievajet

+1

_При попытке ввода данных в один из объектов массива это ваша проблема. В этом массиве нет объектов – Steve

+1

Это не инициализировано. Вы только что создали массив, но не объект внутри. Я думаю, вы пропустили siteArray [0] = new WebsiteStatus(); –

ответ

1

Вы должны использовать вместо этого:

siteArray[0] = new WebsiteStatus { siteName = sites[0], lastDownTime = null }; 

массива из WebsiteStatus объектов могут быть инициализированы, но ни один из отдельныхWebsiteStatus объектов были экземпляр.

1

siteArray [0] равно null, поэтому попытка доступа к имени сайта на этом объекте всегда будет возвращать исключение NullReferenceException. Вы создали массив, но не добавляли к нему никаких элементов.

Смежные вопросы