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

时间:2019-04-07 07:03:36

标签: 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中使用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}]");
            }
        }

//点是整数列表

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

4 个答案:

答案 0 :(得分:2)

不需要for循环:

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

答案 1 :(得分:1)

// use like this 
gameList++;

// instead of doing this
gameList = i++;

我希望您现在会解决。

答案 2 :(得分:1)

最重要的是,您不需要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>();

因此您可以保存得分和gameCount。

    int point = 10;//any number
    int lastGame = (scores.Any()) ? scores.Last().Game : 0;//this is about first game if no score its first game
    scores.Add(new Score(point, lastGame += 1));

您可以向用户展示对循环感到舒适的

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

}
    Game  Score
     1      10
     2      20

答案 3 :(得分:1)

尝试以下。

使用gameList++代替gameList = i++; Unary Increment Operator

public static void HighScore()
{
    int gameList = 1;
    List<int> Points = new List<int>() { 10,20,39,40,50};

    foreach (var item in Points)
    {
       Console.WriteLine($"Game {gameList} Score : {item}");

        gameList++;

    }
}