【发布时间】:2012-09-14 23:33:06
【问题描述】:
我目前正在生成一个随机数 (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()))));
}
}
【问题讨论】:
标签: c#