gpt4 book ai didi

c# - 将一个值与多个可能的列表匹配进行比较

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:50 25 4
gpt4 key购买 nike

我回来困扰你的梦想!我正在研究比较复杂循环中的一些值。 List 1是一个问题/答案列表,List 2也是一个问题/答案列表。我想比较列表 1 和列表 2,并在将其与列表 2 合并之前从列表 1 中删除重复项。我的问题是在当前种子数据中,列表 1 中的两个项目与列表 2 匹配,但只删除了一个两者兼而有之。

我已经做了几天了,我的脑袋快要爆炸了,所以我希望能找到一些帮助!

这是给你的代码:

//Fetching questions/answers which do not have an attempt
//Get questions, which automatically pull associated answers thanks to the model
List<QuizQuestions> notTriedQuestions = await db.QuizQuestions.Where(x=>x.QuizID == report.QuizHeader.QuizID).ToListAsync();

//Compare to existing attempt data and remove duplicate questions
int i = 0;
while(i < notTriedQuestions.Count)
{

var originalAnswersCount = notTriedQuestions.ElementAt(i).QuizAnswers.Count;

int j = 0;

while(j < originalAnswersCount)
{
var comparedID = notTriedQuestions.ElementAt(i).QuizAnswers.ElementAt(j).AnswerID;

if (report.QuizHeader.QuizQuestions.Any(item => item.QuizAnswers.Any(x => x.AnswerID == comparedID)))
{
notTriedQuestions.RemoveAt(i);

//Trip while value and cause break out of loop, otherwise you result in a catch
j = originalAnswersCount;
}
else
{
j++;
}


}

i++;
}

//Add filtered list to master list
foreach (var item in notTriedQuestions)
{
report.QuizQuestions.Add(item);
}

最佳答案

Try List.Union它正是为这类事情而设计的。

关于c# - 将一个值与多个可能的列表匹配进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30192889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com