我有我的代码,
List<string> list = new List<string>();
model.QuestionSetList = new List<string>();
for (int i = 0; i < response.QuestionsInfoList.Count(); i++)
{
list.Add(response.QuestionSetInfo.QuestionsInfoList[i].Question);
foreach (AnswerSetContract answerSetContract in response.QuestionsInfoList[i].AnswersInfoList)
{
list.Add(answerSetContract.AnswerText);
}
model.QuestionSetList.Add(list)
}
我无法将列表添加到另一个列表中。请告诉我在这种情况下该怎么做。
答案 0 :(得分:2)
如果您需要List
List
,那么您的QuestionSetList
必须是:
model.QuestionSetList = new List<List<<string>>()
考虑创建自定义类型,否则它有点像开始,在列表中的列表中列出列表.........
或者如果你真的想合并 Lists
,那就使用Concat
:
list1.Concat(list2);
答案 1 :(得分:2)
查看Concat
命名空间
System.Linq
函数
即
using System.Linq;
List<string> list = new List<string>();
model.QuestionSetList = new List<string>();
for (int i = 0; i < response.QuestionsInfoList.Count(); i++)
{
list.Add(response.QuestionSetInfo.QuestionsInfoList[i].Question);
foreach (AnswerSetContract answerSetContract in response.QuestionsInfoList[i].AnswersInfoList)
{
list.Add(answerSetContract.AnswerText);
}
model.QuestionSetList = model.QuestionSetList.Concat(list);
}
但为什么不在这个地方; list.Add(answerSetContract.AnswerText);
将其直接添加到model.QuestionSetList
?
所以喜欢这个;
List<string> list = new List<string>();
model.QuestionSetList = new List<string>();
for (int i = 0; i < response.QuestionsInfoList.Count(); i++)
{
list.Add(response.QuestionSetInfo.QuestionsInfoList[i].Question);
foreach (AnswerSetContract answerSetContract in response.QuestionsInfoList[i].AnswersInfoList)
{
model.QuestionSetList.Add(answerSetContract.AnswerText);
}
}
答案 2 :(得分:1)
您应该尝试使用AddRange,它允许将一个集合添加到List
答案 3 :(得分:0)
model.QuestionSetList是一个字符串列表。 您正在尝试向其添加字符串列表。由于它们的类型不兼容,因此不允许您这样做。
尝试制作model.QuestionSetList a List<List<string>>
并查看是否对您有帮助。