如何生成一个随机数…?在c#
本文关键字:随机数 一个 何生成 | 更新日期: 2023-09-27 18:12:14
我有一个2d数组按钮[5,5]全蓝色…如何在数组中随机生成5个红色按钮…?
int Rows = 5;
int Cols = 5;
Button[] buttons = new Button[Rows * Cols];
int index = 0;
for (int i = 0; i < Rows; i++)
{
for (int j = 0; j < Cols; j++)
{
Button b = new Button();
b.Size = new Size(40, 55);
b.Location = new Point(55 + j * 45, 55 + i * 55);
b.BackColor = Color.Blue;
buttons[index++] = b;
}
}
panel1.Controls.AddRange(buttons);
就这么简单
int cnt = 0;
Random rnd = new Random();
while (cnt < 5)
{
int idx = rnd.Next(Rows * Cols);
if (buttons[idx].BackColor == Color.Blue)
{
buttons[idx].BackColor = Color.Red;
cnt++;
}
}
你将使用Random类来选择一个介于0和24之间的索引值,并使用该索引来选择一个蓝色按钮,如果选中的按钮有蓝色背景,将其更改为红色
顺便说一下,这是可行的,因为你这里并没有真正的二维数组
如果你的数组被声明为二维数组就像这样
Button[,] buttons = new Button[Rows, Cols];
则在每个循环中需要两个随机值,一个用于行,一个用于列
int cnt = 0;
Random rnd = new Random();
while (cnt < 5)
{
int row = rnd.Next(Rows);
int col = rnd.Next(Cols);
if (buttons[row, col].BackColor == Color.Blue)
{
buttons[row, col].BackColor = Color.Red;
cnt++;
}
}