Visual Studio 2019中点击按钮如何实现数组元素随机循环复用
解决方案
现有代码问题
- 当遍历到数组最后一个元素时,
i+1会超出数组的合法索引范围(长度为4的数组索引范围是0~3),触发索引越界异常导致程序停止运行 - 现有逻辑是固定顺序遍历数组,无法满足随机顺序切换的需求
修改方案
你可以直接使用Random类生成合法的随机索引,每次点击直接随机取数组元素,天然支持无限循环使用,不会出现越界问题:
String[] operand = { "+", "-", "/", "*" }; // 全局声明Random实例,避免短时间多次点击生成重复随机数 Random rnd = new Random(); private void btnNext_Click(object sender, EventArgs e) { // Next方法的第二个参数是开区间,所以传入operand.Length就会生成0~3的随机整数 int index = rnd.Next(0, operand.Length); lblOperand.Text = operand[index]; }
可选优化(避免连续出现相同运算符)
如果需要避免连续两次显示同一个运算符,可以增加判断过滤重复值:
private void btnNext_Click(object sender, EventArgs e) { int index; do { index = rnd.Next(0, operand.Length); } while (operand[index] == lblOperand.Text); lblOperand.Text = operand[index]; }
内容的提问来源于stack exchange,提问作者WiloWisk
相关产品推荐
相关产品推荐

