如何检查 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;
有什么想法吗?
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();
}
谢谢大家的帮助。