C#计算重复数

时间:2017-04-10 07:41:00

标签: c# visual-studio class random messagebox

我需要一种方法来查找和计算此RNG的重复数字。

所以,当我按下按钮500次时,需要计算相同数量的时间来表示任何想法吗? (内置Visial Studio 2017 C#)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Alpha_rng
{
public partial class RNG : Form
{
    private int number;
    public RNG()
    {
        InitializeComponent();
    }

    public int tal { get; private set; }

    private void button1_Click(object sender, EventArgs e)
    {
        Random slumpGenerator = new Random(); 
        int tal;
        tal = slumpGenerator.Next(0, 1000);
        textBox1.Text = tal.ToString();
        if (tal <=  10)
            MessageBox.Show ("Nat 5");
        if (tal >= 11 && tal <= 100) 
            MessageBox.Show("Nat 4");
        else 
            MessageBox.Show("Nat 3");
    }
  }
}

2 个答案:

答案 0 :(得分:1)

简单:

  • 创建一个空列表
  • 在每个循环中:将随机数存储在该列表中

然后;或者在每次迭代期间;或者在500次运行之后:迭代该列表;并寻找您需要的信息。例如,您可以对列表进行排序;然后看看你是否有“子列表”具有相同的值。

创建列表可以像以下一样简单:

List<int> list = new List<int>();
list.Add(2);

有关列表的示例,请参阅here

除此之外;你当然可以使用“高级”的东西;比如地图。 map键表示随机值;并且地图值将是一个计数器。换句话说:你画一个数字;然后你检查那张地图。如果地图已经有一个条目,你只需增加该计数器;如果不;为该键添加值1。与排序/迭代值列表相比,这更有效!

答案 1 :(得分:0)

static int count = 0;

protected void Button1_Click(object sender, EventArgs e) 

{ 

   count++; 

   messagebox.show(count);

}