软件编程
位置:首页>> 软件编程>> C#编程>> C#定时器和随机数

C#定时器和随机数

作者:hebedich  发布时间:2023-10-28 15:30:34 

标签:C#,定时器,随机数

.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;
   }
 }
}

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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com