首页 > 编程 > C# > 正文

C#定时器和随机数

2020-01-24 01:42:10
字体:
来源:转载
供稿:网友

.net.Frameword中提供了一个专门产生随机数的类System.Random,此类默认情况下已被导入,编程过程中可以直接使用。我们知道,计算机并不能产生完全随机的数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了。

我们来看下面的例子

MainForm.cs

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;//using example3.RandomHelp;namespace example3{  public partial class MainForm : Form  {    Timer timer = new Timer();    int zheng;    int shi;         public MainForm()    {      InitializeComponent();      button1.Click+=button1_Click;     button2.Click+=button2_Click;            // if (textBox3.Text != null)      // {       //  string m = textBox3.Text;           }     void timer_Tick(object sender, EventArgs e)    {      //throw new NotImplementedException();    //  radioButton2_Click(null,null);     //  double r = (example3.RandomHelp.GetIntRandomNumber(int.Parse(textBox1.Text), int.Parse(textBox2.Text)));    //  string s = r.ToString();    //   label4.Text = s;      if (zheng == 1)      {        int r = (example3.RandomHelp.GetIntRandomNumber(int.Parse(textBox1.Text), int.Parse(textBox2.Text)));        string s = r.ToString();        label4.Text = s;      }       if (shi == 2)      {        double r = (example3.RandomHelp.GetDoubleRandomNumber(int.Parse(textBox1.Text), int.Parse(textBox2.Text)));          string s = r.ToString();          label4.Text = s;       }    }    //整数    private void radioButton1_CheckedChanged(object sender, EventArgs e)    {      RadioButton r = sender as RadioButton;      if (r.Checked == true)      {        zheng = 1;      }    }    //实数    private void radioButton2_CheckedChanged(object sender, EventArgs e)    {      RadioButton r = sender as RadioButton;      if (r.Checked == true)      {        shi = 2;      }    }    //开始    private void button1_Click(object sender, EventArgs e)    {      timer.Interval = int.Parse(textBox3.Text);      //timer.Interval = 500;      timer.Tick += timer_Tick;       timer.Start();           }    //停止    private void button2_Click(object sender, EventArgs e)    {      timer.Stop();    }     }}

RandomHelp.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;//using System.Windows.Forms.Timer; namespace example3{  class RandomHelp  {    public static int GetIntRandomNumber(int min,int max)    {      Random r=new Random();      int ran=r.Next(min, max + 1);     return ran;    }    //很不错的算法    public static double GetDoubleRandomNumber(int min,int max)    {      Random r = new Random(); //很不错的算法          double m=r.NextDouble() * max;      double n = r.NextDouble() * min;            if(m-n>2.0)      return m;      else      return n+3.0;    }  }}

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表