如何循环数组C#

Can*_*abe 0 c# arrays loops

我正在尝试在消息框中显示以下密码.我想要发生的是通过消息框向用户提供第一个密码,即111111.在给出111111之后,下次用户请求另一个密码时,它将是222222,依此类推.如果所有密码都已用完,循环将只返回111111,222222,33333等...我该怎么办?谢谢你的帮助.

这是我的代码:

                    int[] password;
                    password = new int[10];
                    password[0] = 000000;
                    password[1] = 111111;
                    password[2] = 222222;
                    password[3] = 333333;
                    password[4] = 444444;
                    password[5] = 555555;
                    password[6] = 666666;
                    password[7] = 777777;
                    password[8] = 888888;
                    password[9] = 999999;

                    MessageBox.Show("Your password is ...");
                    return;
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 7

听起来你并没有真正在这里循环 - 你只想维持一个索引.毕竟,"为用户提供密码"听起来像是事件驱动的,而不是我们的代码重复.

两种选择:

  • 保留密码列表,并保留"当前索引".每次递增索引,并在到达结尾时循环回0.

  • 使用Queue<T>替代,并且每当您显示密码时,添加一个新密码到最后.

作为旁白:

  • int是一个非常糟糕的类型来选择密码,除非你真的限制用户使用数字键盘.即便如此,你应该真正区分"0001"和"1",哪些int值不能.

  • 学习使用数组初始化器.大部分示例代码相当于:

    int[] password = { 0, 111111, 222222, 333333, 444444, 555555, 666666,
                       777777, 888888, 999999 };
    
    Run Code Online (Sandbox Code Playgroud)
  • 一个硬编码的密码列表,可以重复使用......真的吗?