Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка на null (??) не срабатывает для объектов и массивов / 11 сообщений из 11, страница 1 из 1
07.04.2018, 18:56
    #39627158
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Всем привет!

Есть заполненный список объектов - Events

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
  public class Venue
        {    
            public List<string> emails { get; set; }     
        }

        public class Event
        {
            public object category { get; set; }
            public string id { get; set; }
            public string name { get; set; } 
            public string description { get; set; }    
            public Venue venue { get; set; }
        }
  public class Place
        {
            public string id { get; set; }
            public string name { get; set; }
            public Location location { get; set; }
        }

 public class Location
        {
           
            public string street { get; set; }
            
        }




Далее мне нужно пройтись по элементам этого списка и наполнить другую модель с некими модификациями. Все работает, но если попадается нулевое значение в Events, то исключение - "ссылка не указывает на значение", проверяю на null и если нет значение, то вставляется "".
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  foreach (Model.Event Event in Events.OrderBy(a => a.startTime.Date))
            {

 ReadyEvents.Add(new Model.ReadyFullEvent {
   Title = Event.name,

  Text = (Event.description ?? "").ToString(), //тут все ок, с строкой работает

Email = (Event.venue.emails[0] ?? string.Empty).ToString(), //а вот с этим списком - исключение - "ссылка не указывает на значение"

Street = (Event.place.location.street ?? "").ToString(), //аналогично и тут
 });

}
               
...
Рейтинг: 0 / 0
07.04.2018, 19:17
    #39627162
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Код: c#
1.
2.
(Event?.venue?.emails[0] ?? string.Empty).ToString()
(Event?.place?.location.street ?? "").ToString()
...
Рейтинг: 0 / 0
07.04.2018, 19:18
    #39627163
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Sputnick,

и что же Вам не понятно?
...
Рейтинг: 0 / 0
07.04.2018, 19:27
    #39627165
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Shocker.Pro
Код: c#
1.
2.
(Event?.venue?.emails[0] ?? string.Empty).ToString()
(Event?.place?.location.street ?? "").ToString()



спасибо за ответ, а разве string.Empty и "" не одно и то же?
...
Рейтинг: 0 / 0
07.04.2018, 19:32
    #39627167
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
string.Empty и "" не одно и то же?
----
отменяется
...
Рейтинг: 0 / 0
07.04.2018, 19:35
    #39627168
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Shocker.Pro
Код: c#
1.
(Event?.venue?.emails[0] ?? string.Empty).ToString()



то же самое "Additional information: Ссылка на объект не указывает на экземпляр объекта." - http://joxi.ru/YmEkNxCZnqdLA6
...
Рейтинг: 0 / 0
07.04.2018, 19:36
    #39627169
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
skyANASputnick,

и что же Вам не понятно?

как можно проверить значение на null
...
Рейтинг: 0 / 0
07.04.2018, 19:37
    #39627170
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Sputnickспасибо за ответ, а разве string.Empty и "" не одно и то же?а какая тут связь с моим ответом? Это у тебя написано было.

P.S.
http://www.sql.ru/forum/1117746/string-empty-v-chem-glubokiy-smysl
...
Рейтинг: 0 / 0
07.04.2018, 19:42
    #39627174
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Shocker.ProSputnickспасибо за ответ, а разве string.Empty и "" не одно и то же?а какая тут связь с моим ответом? Это у тебя написано было.

P.S.
http://www.sql.ru/forum/1117746/string-empty-v-chem-glubokiy-smysl

да, опомнился - написал "отменено"

Спасибо, с улицей работает.

Event?.venue?.emails[0] - тут пытается обратится к элементу и естественно эксепшин, пробую как обойти.
...
Рейтинг: 0 / 0
07.04.2018, 19:46
    #39627177
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
SputnickEvent?.venue?.emails[0] - тут пытается обратится к элементу и естественно эксепшин, пробую как обойти.Ну ёмаё, головой подумать, продлить мысль, прочитать статью - никак?
Код: c#
1.
(Event?.venue?.emails?[0] ?? string.Empty).ToString()
...
Рейтинг: 0 / 0
07.04.2018, 19:54
    #39627180
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на null (??) не срабатывает для объектов и массивов
Shocker.ProSputnickEvent?.venue?.emails[0] - тут пытается обратится к элементу и естественно эксепшин, пробую как обойти.Ну ёмаё, головой подумать, продлить мысль, прочитать статью - никак?
Код: c#
1.
(Event?.venue?.emails?[0] ?? string.Empty).ToString()



да, додумался, начал же копать. Спасибо.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проверка на null (??) не срабатывает для объектов и массивов / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]