Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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
C# 如何检查ID是否与另一个ID匹配,然后通过foreach显示它们_C#_Database_Xna_Foreach - Fatal编程技术网

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

C# 如何检查ID是否与另一个ID匹配,然后通过foreach显示它们,c#,database,xna,foreach,C#,Database,Xna,Foreach,我不知道该如何表达这个问题,但我还是会试试 我目前正在做一个项目,我想通过这个项目获得用户的高分。我的数据库中的高分id如下所示: The user database: |ID | Username | | 1 | Test1 | | 2 | Test2 | | 3 | Test3 | The highscore database: |ID |Highscore |HighscoreID| | 1 | 200 | 1 | | 1 | 230

我不知道该如何表达这个问题,但我还是会试试

我目前正在做一个项目,我想通过这个项目获得用户的高分。我的数据库中的高分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是否与highscore数据库中的ID(HighscoreID)匹配,以便在显示所有highscore时,Test1(其ID为1)将显示在HighscoreID中ID对应的highscore前面。有点像

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)
                { 

                }
            }
MathAndYouDBEntities db=new MathAndYouDBEntities();
用户=新用户();
HighScore highscor=新的HighScore();
int-idCounter=0;
对于(int i=1;i<5;i++)
{
i=idCounter;
if(users.ID==i&&highscor.HighscoreID==i)
{ 
}
}
如果我想循环浏览所有这些内容,以便稍后显示它们

D

这样做基本上会使程序崩溃:
MathAndYouDBEntities db=新的MathAndYouDBEntities();
用户=新用户();
HighScore highscor=新的HighScore();
int-idCounter=0;
对于(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=alluser+“”+高分;
有什么想法吗

     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();
            }

谢谢大家的帮助。

你的意思是“如果(Username.ID==1&&Highscore.HighscoreID==1)”,还是说“如果(Username.ID==1&&Highscore.ID==1)”?如何从数据库中获取数据?这只是数据库外观的一个示例。我不知道如何制作,所以我想了一个关于我认为它应该是什么样子的小例子,这将大大有助于解释。似乎我无法在评论部分用代码回答,所以我将把它放在问题中。这并不是真正允许我对它进行讨论的东西。这是一个所有高分的列表+做出高分的用户。不过谢谢:)“这是一个所有高分的列表”,正如你所说,这是一个列表。这意味着它是数组、字典还是列表?
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();
            }