C# 需要帮助使用for循环递增1。每次仅增加1

C# 需要帮助使用for循环递增1。每次仅增加1,c#,for-loop,increment,C#,For Loop,Increment,所以我有一个评分方法,在我们玩完游戏后运行,如果用户想重播游戏,再次运行。我正在显示它的分数 比如 第一次尝试: Game 1 : He scored 20 然后用户决定重播游戏,得到不同的分数。那我想让它表现出来 第二次尝试: Game 1 : He scored 20 Game 2 : He scored 10 第三次尝试:等等 Game 1 : He Scored 20 Game 2 : He scored 10 Game 3 : He scored 5 我尝试在foreach

所以我有一个评分方法,在我们玩完游戏后运行,如果用户想重播游戏,再次运行。我正在显示它的分数

比如

第一次尝试:

Game 1 : He scored 20
然后用户决定重播游戏,得到不同的分数。那我想让它表现出来

第二次尝试:

Game 1 : He scored 20

Game 2 : He scored 10
第三次尝试:等等

Game 1 : He Scored 20

Game 2 : He scored 10

Game 3 : He scored 5
我尝试在foreach中使用for循环,然后将I放入另一个int中

public void HighScore()
        {
            int gameList = 1;
            foreach (var item in Points)
            {
                for (int i = 1; i < Points.Count; i++)
                {
                    gameList = i++;
                }
                Console.WriteLine($"{name} : Game {gameList} Score : {item} : Level [{GameLevel}]");
            }
        }
public void HighScore()
{
int gameList=1;
foreach(以点为单位的var项目)
{
对于(int i=1;i
//点是一个整数列表

//我想更改游戏编号游戏1,2,3,4

// use like this 
gameList++;

// instead of doing this
gameList = i++;
我希望你现在能修好


我希望您现在可以修复。

无需
for
循环:

public void HighScore()
    {
        int gameList = 1;
        foreach (var item in Points)
        {
            Console.WriteLine($"{name} : Game {gameList} Score : {item} : Level [{GameLevel}]");
            gameList++;
        }
    }

无需为
循环设置

public void HighScore()
    {
        int gameList = 1;
        foreach (var item in Points)
        {
            Console.WriteLine($"{name} : Game {gameList} Score : {item} : Level [{GameLevel}]");
            gameList++;
        }
    }

首先,你不需要for循环。为每个游戏创建一个访问点的类,以便像上面一样定期存储它们

    public class Score
    {
        public Score(int point ,int game)
        {
            Point = point;
            Game = game;
        }

        public int Point { get; set; }
        public int Game { get; set; }


    }
然后创建一个全局变量

List<Score> scores = new List<Score>();
您可以向用户显示可与循环兼容的内容

foreach(var score in scores){
Console.WriteLine($"Game {score.Game} Point: {score.Point}");

}
    Game  Score
     1      10
     2      20

首先,你不需要for循环。为每个游戏创建一个访问点的类,以便像上面一样定期存储它们

    public class Score
    {
        public Score(int point ,int game)
        {
            Point = point;
            Game = game;
        }

        public int Point { get; set; }
        public int Game { get; set; }


    }
然后创建一个全局变量

List<Score> scores = new List<Score>();
您可以向用户显示可与循环兼容的内容

foreach(var score in scores){
Console.WriteLine($"Game {score.Game} Point: {score.Point}");

}
    Game  Score
     1      10
     2      20
试试下面

使用
gameList++
而不是
gameList=i++

publicstaticvoidhighscore()
{
int gameList=1;
列表点=新列表(){10,20,39,40,50};
foreach(以点为单位的var项目)
{
Console.WriteLine($“Game{gameList}分数:{item}”);
gameList++;
}
}
试试下面的方法

使用
gameList++
而不是
gameList=i++

publicstaticvoidhighscore()
{
int gameList=1;
列表点=新列表(){10,20,39,40,50};
foreach(以点为单位的var项目)
{
Console.WriteLine($“Game{gameList}分数:{item}”);
gameList++;
}
}

您对此进行了测试吗?是否出现错误?很明显,输出不会相同,但它是“一元增量运算符”++“是他所寻找的。你每次都将列表的长度添加到游戏编号中,因此游戏编号为5、9、13等。我认为OP想要1、2、3。@iakobski发现得很好。谢谢更新了我的答案。你测试过这个吗?你有错误吗?很明显,输出不会相同,但它是“一元增量运算符”++“是他所寻找的。你每次都将列表的长度添加到游戏编号中,因此游戏编号为5、9、13等。我认为OP想要1、2、3。@iakobski发现得很好。谢谢更新了我的答案。