private static int GetNextId(string modelName) { /*var idModels = models.Where(m => m.Id.HasValue).ToArray(); * * // ReSharper disable once PossibleInvalidOperationException * return idModels.Any() ? idModels.Max(m => m.Id.Value) + 1 : 1;*/ var modelId = Ids?.FirstOrDefault(mi => mi.ModelName == modelName); int id; if (modelId == null) { id = 1; modelId = new ModelId { ModelName = modelName, Id = 1 }; Ids?.Add(modelId); } else { id = modelId.Id; } modelId.Id += 1; Save(Ids, nameof(Ids)); return(id); }