Задать вопрос
@ellz

Почему возникает ошибка System.NullReferenceException: 'Object reference not set to an instance of an object?

Привет. Есть такой метод:
[HttpPost]
        [Route("postTourInfo")]
        public string Post([FromBody] GettingTourInfo value)
        {
            Tours tours = new Tours();
         
            tours.tourInfos[0].beachType = "one";// здесь возникает ошибка
            tours.tourInfos[1].beachType = "two";

            return JsonConvert.SerializeObject(tours);
        }

и такие классы:
public class GettingTourInfo
    {
        public string fromCity { get; set; }
        public string toCountry { get; set; }
        public DateTime departureDate { get; set; }
        public int amountNights { get; set; }
        public int amountAdults { get; set; }
    }

    public class TourInfo
    {
        public int statusCode { get; set; } //200, если туры найдены, 404 - если не найдены
        public string tourName { get; set; } //названиеТура
        public string hotelName { get; set; } //названиеОтеля
        public int hotelRating { get; set; } //рейтингОтеля
        public int line { get; set; } //линия
        public string beachType { get; set; } //типа поляжа(песок, песок с галькой, галька, платформа)
        public int distanceToBeach { get; set; }// растояние до пляжа
        public int distanceToAirport { get; set; } // растояние до аэропорта
    }

    public class Tours
    {
        public List<TourInfo> tourInfos { get; set; }
    }


Отправляю запрос через Postman и ловлю в ответ
System.NullReferenceException: 'Object reference not set to an instance of an object


В теле метода решил просто проверить, будет ли работать заполнение объекта и т.д.
В чем может быть проблема? По идеи должна вернутся строка с двумя JSON массивами, где все кроме beachType будет null.

Проект .Net Core 2.0.
  • Вопрос задан
  • 20868 просмотров
Подписаться 1 Простой Комментировать
Решение пользователя freeExec К ответам на вопрос (3)
freeExec
@freeExec
Участник OpenStreetMap
Потому что список tours.tourInfos ни кто не создал. Вы его только объявили, а new не стали.
Ответ написан
Комментировать