#c# #list #model #add
#c# #Список #Модель #Добавить
Вопрос:
У меня есть два списка моделей, которые я хочу добавить в третий список моделей, но я получаю сообщение об ошибке — No overload for method "Add" takes two arguments
. Вот мой код:
List<TableNotificationModel> one = JsonConvert.DeserializeObject<List<TableNotificationModel>>(cmdPositive);
List<TableNotificationModel> two = JsonConvert.DeserializeObject<List<TableNotificationModel>>(cmdNegative);
List<TableNotificationModel> three = new List<TableNotificationModel>();
three.Add(one, two);
IEnumerable<TableNotificationModel> result = three;
DataSourceResult dataSource = result.ToDataSourceResult(request);
Я хочу присвоить списку значение result
three
, чтобы я мог использовать его ниже.
Я попытался использовать AddRange
вместо Add
, но это выдает ту же ошибку.
Некоторые разработчики, у которых я стажируюсь, сказали мне разобраться Dictionary
но я
не могу понять, как это исправить с помощью dictionary.
Я пробовал что-то подобное, three.Add(one)
но там написано cannot convert generic list to model
.
Есть какие-нибудь советы о том, как действовать дальше?
Комментарии:
1. Вы пытаетесь делать неправильные вещи. Сначала попытайтесь объяснить, какая связь между элементами в
one
и элементами вtwo
? Должно ли это быть просто объединением двух списков?
Ответ №1:
Это если это должен быть просто плоский список элементов (объединение):
var one = JsonConvert.DeserializeObject<List<TableNotificationModel>>(cmdPositive);
var two = JsonConvert.DeserializeObject<List<TableNotificationModel>>(cmdNegative);
var three = one.Union(two).ToList();
Ответ №2:
Вы должны использовать AddRange()
. Add
принимает один объект, в то время как AddRange()
принимает IEnumerable
множество объектов.
Итак, three.AddRange(one);