You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Forms中如何获取Random类选中的数组索引?

获取Random生成的数组索引(Windows Forms小测验场景)

嘿,这个问题其实超简单的!你只需要把随机生成的索引单独存成变量,再用它去取数组值就好啦——这样既能拿到你需要的二进制数值,又能把索引当作正确答案保留下来。

看我给你改好的代码:

public void generateBinary3bit(int[] numbers, Form1 f1) 
{
    Random rand = new Random();
    // 先把随机索引存到ans里,这就是你要的正确答案啦
    int ans = rand.Next(0, 7);
    // 再用这个索引去取数组中的二进制值
    int mynum = numbers[ans];
    
    // 接下来你就可以把ans用在测验逻辑里了,比如存到窗体的变量或者显示出来
    // 举个例子:f1.CorrectAnswer = ans;
}

另外给你提两个小建议,让代码更靠谱:

  • 别在方法里每次都new Random()!如果这个方法被快速连续调用,系统时钟的精度问题可能会导致生成重复的随机数。最好把Random实例声明成Form类的成员变量,比如在Form1里写private Random _rand = new Random();,然后在这个方法里直接用_rand.Next(...),随机性会稳定很多。
  • 要是以后数组长度变了,别硬写7,用rand.Next(numbers.Length)代替rand.Next(0,7),这样能避免索引越界的问题,代码更健壮。

内容的提问来源于stack exchange,提问作者Johnstonn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:07:29