我目前正在生成一个随机数(1-20)并计算每个数字随机生成的次数。在textBox1
我选择我想要生成的数字数量。我在多行中显示最终结果textBox2
。我遇到的问题是,每次我再次单击按钮时,它都会重置随机生成数字的次数。
有没有我可以点击按钮x次并计算一个数字随机生成的次数而不重置计数?我正在尝试在数组的帮助下专门解决这个问题。
代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Random r = new Random();
private void button1_Click(object sender, EventArgs e)
{
var n = int.Parse(this.textBox1.Text);
var y =
Enumerable
.Range(0, n)
.Select(x => r.Next(20) + 1)
.ToArray();
var sum = y.Sum();
var avg = (double)sum / (double)n;
var frequency = y.ToLookup(x => x);
textBox2.Text = String.Join(Environment.NewLine, new[]
{
"Number of times an integer was randomly generated",
String.Format("{0} {1}", sum, avg),
}.Concat(Enumerable
.Range(1, 20)
.Select(x => String.Format("{0} ({1})", x, frequency[x].Count()))));
}
}