请原谅我在一天内两次询问列表,伙计们。我正在比较两个列表并需要返回一个 bool 值——它们是否匹配?我有列表 B 我正在将其整体与列表 A 中的单个值进行比较。我尝试了一些组合但没有成功。
这里有一些代码可以解决您的问题:
@for (int i = 0; i < @Model.QuizQuestions.Count(); i++)
{
for (int j = 0; j < Model.QuizQuestions.ElementAt(i).QuizAnswers.Count(); j++)
{
if (Model.QuizHeader.QuizQuestions.Any(item => item.QuizAnswers.Any(x =>x.AnswerID == Model.QuizQuestions.ElementAt(i).QuizAnswers.ElementAt(j).AnswerID)))
{
//Do something here
}
else
{
//Do something else
}
}
我错过了什么明显的东西?谢谢!
View 模型:
public class QuizIndScoreReportObject
{
[NotMapped]
public virtual TopicList Topic { get; set; }
[NotMapped]
public virtual QuizHeader QuizHeader { get; set; }
[NotMapped]
public virtual List<QuizQuestions> QuizQuestions { get; set; }
[NotMapped]
public virtual List<QuizAnswers> QuizAnswer { get; set; }
}
注意 QuizAnswers 是 QuizQuestions 的属性。 QuizQuestions 是 QuizHeader 的一个属性。我在此配置下同时传递了两个列表,因此对于此处不够清晰,我深表歉意。
感谢大家的帮助。我能够修改我的代码来做我需要的一些修补。这是通过一个中间变量最终起作用的。
var value = Model.QuizQuestions.ElementAt(i).QuizAnswers.ElementAt(j).AnswerID;
if ( Model.QuizHeader.QuizQuestions.Any(item => item.QuizAnswers.Any( x=> x.AnswerID == value)))
我是一名优秀的程序员,十分优秀!