如何生成5个不同的随机数,并且必须包含至少一个负数(asp.net webforms)



我想在文本框中生成5个随机数,并且至少包括1与负数

您可以简单地选择一个随机负数,然后将其分配给一个随机文本框,然后使用您的代码填充其他文本框:

private Random rand = new Random();
protected void Button1_Click(object sender, EventArgs e)
{
var textBoxes = new List<TextBox> { TextBox1, TextBox2, TextBox3, TextBox4, TextBox5 };
// Pick a random negative number and assign it to a random textbox
var negNumber = rand.Next(-100, 0).ToString();
var randomTextboxIndex = rand.Next(textBoxes.Count);
textBoxes[randomTextboxIndex].Text = negNumber;
// Assign the other textboxes random numbers
for (int i = 0; i < textBoxes.Count; i++)
{
if (i == randomTextboxIndex) continue;
textBoxes[i].Text = rand.Next(-100, 101).ToString();
}
}

类似于Rufus的代码,但更简洁:

private Random rand = new Random();
protected void Button1_Click(object sender, EventArgs e)
{
var textBoxes = new [] { TextBox1, TextBox2, TextBox3, TextBox4, TextBox5 };
// Pick a random textbox that shall be negative
var negTb = rand.Next(textBoxes.Length);

for (int i = 0; i < textBoxes.Length; i++)
textBoxes[i].Text = rand.Next(-100, i == negTb ? 0 : 101).ToString();

}

随机决定哪个tb为负,然后在赋值时,使索引tb的随机上限为0而不是101

相关内容

最新更新