如何检查 ID 是否与另一个 ID 匹配,然后通过 foreach 显示它们

本文关键字:ID 然后 foreach 显示 匹配 另一个 何检查 检查 是否 | 更新日期: 2023-09-27 18:36:20

不知道如何表达这个问题,但无论如何我都会尝试。

我目前正在做一个项目,我想通过我的数据库中的高分 ID 提取用户的高分 ID,如下所示:

The user database:
|ID | Username |
| 1 | Test1    |
| 2 | Test2    |
| 3 | Test3    |
The highscore database:
|ID |Highscore |HighscoreID|
| 1 | 200      | 1         |
| 1 | 230      | 2         |
| 1 | 240      | 3         |

首先,我想检查用户的 ID 是否与高分数据库中的 ID 匹配(HighscoreID),以便在显示所有高分时,Test1(其 ID 为 1)将显示在高分的前面,该 ID 与高分 ID 中的 ID 相对应。有点像;

If(Username.ID == 1 && Highscore.HighscoreID == 1)
{
 //Display The username + the score associated with that username
}

我不确定如何解释这一点,但是当我们想通过网站的ID显示某些内容时,我们会在地址链接中包含ID,然后从地址链接中提取带有ID的所有内容。

我希望

这解释得足够好,很快就会在游戏的最后期限前完成,所以我希望我不必重写这个问题。

提前感谢,你们摇滚。

编辑

所以基本上是这样的:

 MathAndYouDBEntities db = new MathAndYouDBEntities();
            User users = new User();
            HighScore highscor = new HighScore();
            int idCounter = 0;
            for (int i = 1; i < 5; i++)
            {
                i = idCounter;
                if (users.ID == i && highscor.HighscoreID == i)
                { 
                }
            }

如果我想遍历所有这些以便以后显示它们?

D

oing this basicly crashes the program:
   MathAndYouDBEntities db = new MathAndYouDBEntities();
            User users = new User();
            HighScore highscor = new HighScore();
            int idCounter = 0;
            for (int i = 1; i < 5; i++)
            {
                i = idCounter;
                if (users.ID == idCounter && highscor.HighscoreID == idCounter)
                {
                    allUsers += users.Bruger.ToString();
                    highscores += highscor.UserHighscore.ToString() + ''n';
                }
            }
            message = allUsers + " " + highscores;

有什么想法吗?

如何检查 ID 是否与另一个 ID 匹配,然后通过 foreach 显示它们

     If(Username.ID == 1 && Highscore.HighscoreID == 1)
     {
       System.out.println("Username is: " Username.name + "And the high score is :" + Highscore.Highscore);
       //Display The username + the score associated with that username
     }

因为如果您使用正确的高分检查正确的用户名 ID,则可以使用相同的高分来获得高分。

我希望我说得有道理!

编辑:对不起,我没有读到你想要它在 for 循环中

  for(Highscore h : HighscoreList)   //ifyourusinganarraylistnamedHighscoreList
   If(Username.ID == 1 && Highscore.HighscoreID == 1)
   {
            System.out.println("Username is: " Username.name + "And the high score is    :" + Highscore.Highscore);
   }

如果你正在使用某种ORM,你可以这样做。

var highScore = Highscores.Where(c => c.HighscoreID == 1)
                          .Max(c => c.Highscore);

或者在查询字符串中执行此操作。

经过大量测试找到了答案。

MathAndYouDBEntities db = new MathAndYouDBEntities();
            var queryResults =
                (
                from u in db.Users
                join h in db.HighScores
                on u.ID equals h.HighscoreID
                select new { u.Bruger, h.UserHighscore }
                );
            foreach (var h in queryResults)
            {
                allUsers += h.Bruger.ToString();
                highscores += h.UserHighscore.ToString();
            }

谢谢大家的帮助。