C # linq DefaultIfEmpty () NullReferenceException Значение не может быть пустым.

У меня проблема Как я могу правильно запросить в linq Получать ошибку NullReferenceException каждый раз

    public class Model
    {
        public int Nmb { get; set; }
        public string _UserId { get; set; }
    }
    public static List<Model> _models_List { get; set; }

        string user = "test name";

        int test = _models_List.Where(o => o._UserId == user).Select(o => o.Nmb).DefaultIfEmpty(0).First();

        if (test == 0)
        {         
            Model obj = new Model();
            obj._UserId = user;
            obj.Nmb = 1;
            _models_List.Add(obj);
        }

Я пытался исправить код следующим образом. Но я получаю ту же ошибку. Значение NullReferenceException не может быть пустым. Имя параметра: Источник

    int test = _models_List.Where(o => o._UserId == user).Select(o => o.Nmb).FirstOrDefault();

Пожалуйста помоги

Всего 1 ответ


Список _models_List пуст, для решения проблемы замените следующий код:

public static List<Model> _models_List { get; set; }

с:

public static List<Model> _models_List { get; set; } = new List<Model>();