C# 计算重复数字

C# counting repeating numbers

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

所以当我按下按钮 500 次时,它需要计算相同数字出现的次数,有什么想法吗? (在 Visual 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");
    }
  }
}

简单:

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

然后;在每次迭代期间;或者在你跑了 500 次之后:迭代那个列表;并查找您需要的信息。例如,您可以对列表进行排序;然后查看是否有 "sublists" 具有相同的值。

创建列表非常简单:

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

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

除此之外;你当然可以使用 "advanced" 东西;比如地图。 map key代表随机值;地图值将是一个计数器。换句话说:你画一个数字;然后你检查那张地图。如果地图已经有一个条目,你只需增加那个计数器;如果不;您为该键添加值 1。这比 sorting/iterating 值列表更有效!

静态整数计数 = 0;

protected void Button1_Click(object sender, EventArgs e) 

{ 

   count++; 

   messagebox.show(count);

}