Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 用结果逻辑匹配多个狗品种下拉列表_Asp.net_Vb.net - Fatal编程技术网

Asp.net 用结果逻辑匹配多个狗品种下拉列表

Asp.net 用结果逻辑匹配多个狗品种下拉列表,asp.net,vb.net,Asp.net,Vb.net,我完全被这件事缠住了。我希望这里的专家能帮助我 我有一个页面列出了调查结果。用户必须猜测狗的前3个品种。然后给出了计算结果重要提示:用户正在猜测狗的前3个品种,它们可以是任何顺序。 例如,向用户显示一张狗的照片,照片下面是三个下拉列表: Dropdown_1 Dropdown_2 Dropdown_3 每个下拉列表都包含相同的品种列表,如比格犬、德国雪豹、帕格犬等。然后用户为每个下拉列表选择一个(且仅一个)品种 因此,在上面的示例中,用户将选择: German Shepard B

我完全被这件事缠住了。我希望这里的专家能帮助我

我有一个页面列出了调查结果。用户必须猜测狗的前3个品种。然后给出了计算结果重要提示:用户正在猜测狗的前3个品种,它们可以是任何顺序。

例如,向用户显示一张狗的照片,照片下面是三个下拉列表:

Dropdown_1    Dropdown_2   Dropdown_3
每个下拉列表都包含相同的品种列表,如比格犬、德国雪豹、帕格犬等。然后用户为每个下拉列表选择一个(且仅一个)品种

因此,在上面的示例中,用户将选择:

German Shepard   Beagle   Pug
现在,当显示答案/响应页面时,他们将查看自己的猜测是否与正确答案匹配

显然,写这样的东西很容易:

  If (BreedChoice1 = BreedChoice1Answer And BreedChoice2 = BreedChoice2Answer And BreedChoice3 = BreedChoice3Answer) Or
           (BreedChoice1 = BreedChoice1Answer And BreedChoice2 = BreedChoice3Answer And BreedChoice3 = BreedChoice2Answer) Or
           (BreedChoice1 = BreedChoice2Answer And BreedChoice2 = BreedChoice1Answer And BreedChoice3 = BreedChoice3Answer) Or
           (BreedChoice1 = BreedChoice2Answer And BreedChoice2 = BreedChoice3Answer And BreedChoice3 = BreedChoice1Answer) Or
           (BreedChoice1 = BreedChoice3Answer And BreedChoice2 = BreedChoice1Answer And BreedChoice3 = BreedChoice2Answer) Or
           (BreedChoice1 = BreedChoice3Answer And BreedChoice2 = BreedChoice2Answer And BreedChoice3 = BreedChoice1Answer) Then

Response.Write("You Guessed ALL breeds correctly!")

End If
但我该如何显示他们说的信息:“你们猜对了两个品种”。还有一个说“你猜对了一个品种”

请记住,选项1、2和3可以按任意顺序匹配答案1、2和3

任何建议都将不胜感激!先谢谢你


--Chris

要解决这个问题,最简单的方法是使用Intersect方法,并对代码进行稍微不同的划分

首先,我建议我们把“答案”放在一个列表中,而不是把它们作为单独的变量(因为你建议它们可以是任何顺序)。然后你应该把你提交的答案也收集起来

然后,您可以执行一个非常简单的交集,以获得一个集合,该集合包含两个元素的公共元素:

List<string> breeds = new List<string>() { "Beagle", "German Shepard", "Pug" };

        List<string> choices = new List<string>() { "Beagle", "Pug", "Greyhound" };

        int correctAnswers = breeds.Intersect(choices).Count();

希望他的帮助

一只狗怎么可能是三个不同的品种?对我来说毫无意义。保罗,谢谢你!这正是我一直在寻找和解决的问题。我真的很感谢你的帮助。我把这个答案标记为最好的,祝你一切都好,先生!
$"Congratulations, you guessed {correctAnswers} breeds correctly!";