C# 嵌套ForEach列表
现在我只获得1个问题id,如何获得每个项目的所有相关问题id 我希望项目输出如下: Item-Text=“itemTitle” Value=“questionID1、questionID2、questionID3等” 谢谢你的回答C# 嵌套ForEach列表,c#,foreach,C#,Foreach,现在我只获得1个问题id,如何获得每个项目的所有相关问题id 我希望项目输出如下: Item-Text=“itemTitle” Value=“questionID1、questionID2、questionID3等” 谢谢你的回答 string categoryId = ""; string questionID = ""; foreach (var item in searchList.resources) {
string categoryId = "";
string questionID = "";
foreach (var item in searchList.resources)
{
foreach (var associatedQuestion in item.associatedQuestions)
{
categoryId = associatedQuestion.categoryid.ToString();
questionID = associatedQuestion.id.ToString();
}
myList.Add(new SelectListItem { Text = item.linktext.ToString(), Value = categoryId + questionID });
}
return System.Web.Helpers.Json.Encode(myList);
}
例如,您可以将String.Join与LINQ结合使用,而不是使用内部foreach循环。例如:
foreach (var item in searchList.resources)
{
//First convert all questionIds to a string collection
IEnumerable<String> allQuestionIDs = item.associatedQuestions.Select(q => q.id.ToString());
//Convert the collection to single comma seperated String
string questionIdsString = String.Join(", ", allQuestionIDs);
myList.Add(new SelectListItem { Text = item.linktext.ToString(), Value = questionIdsString });
}
foreach(searchList.resources中的var项)
{
//首先将所有问号转换为字符串集合
IEnumerable AllQuestionID=item.associatedQuestions.Select(q=>q.id.ToString());
//将集合转换为单逗号分隔字符串
string questionIdsString=string.Join(“,”,AllQuestionID);
添加(新建SelectListItem{Text=item.linktext.ToString(),Value=QuestionIDString});
}
searchList、associatedQuestion等的价值是什么。您的问题和代码示例是模糊的,您可以重新分配foreach的每个迭代的categoryId
和questionId
以便只使用最后一个-移动myList。使用myList的字典(而不是列表)添加3行。这将为您提供标题的所有不同值。