首页 > 解决方案 > 带字符串的随机数生成器

问题描述

我有一些代码可以向 Arduino 发送一个预先计算好的数字。而不是预先计算的数字,我想要一个数字范围之间的随机数,例如在数字 1 到 20 之间,随机数是 18,找到随机数后将它放在一个字符串中,这样我就可以使用它。

我在堆栈溢出方面尝试了很多事情,但事情太复杂了,我使用 C#。下面的代码是我现在拥有的,我希望它将随机数发送到 Arduino

namespace MyLaserTurret
{

   public partial class Form1 : Form
    {
        public Stopwatch watch { get; set; }

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            watch = Stopwatch.StartNew();
            port.Open();
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            writeToPort(new Point(e.X, e.Y));
        }

        public void writeToPort(Point coordinates)
        {
            if (watch.ElapsedMilliseconds > 15)
            {
                watch = Stopwatch.StartNew();

                port.Write(String.Format("X{0}Y{1}",
                (coordinates.X / (Size.Width / 180)),
                (coordinates.Y / (Size.Height / 180))));
            }

        }
    }
}

标签: c#

解决方案


要将随机数创建为字符串,请使用此代码

    private Random random = new Random();  

    public string RandomNumber(int min, int max)
    {
        return random.Next(min, max).ToString();
    }

请注意,声明“Random random = new Random();”可能是最佳实践。作为类属性,因为当 Random 被创建得太近时,它们将保持相同的值


推荐阅读