Я генерирую все случайные числа, даже в основном с отрицательными числами. Но как сгенерировать это случайное число, которое ДОЛЖНО включать хотя бы одно отрицательное число?
protected void Button1_Click(object sender, EventArgs e)
{
var textBoxes = new List<TextBox> { TextBox1, TextBox2, TextBox3, TextBox4, TextBox5 };
var rand = new Random(Guid.NewGuid().GetHashCode());
foreach (var textBox in textBoxes)
textBox.Text = rand.Next(-100, 100).ToString();
}
2 ответа
Вы можете просто выбрать случайное отрицательное число, затем назначить его случайному текстовому полю, а затем использовать свой код для заполнения других текстовых полей:
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();
}
}
Это похоже на код Руфуса, но немного более сжатый:
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
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.