C# 如何在用户单击的每个按钮中编写随机函数

C# 如何在用户单击的每个按钮中编写随机函数,c#,C#,如果用户单击一个按钮,它应该在按钮上显示一个随机数(不在messagebox中)。 如何做到这一点试试这个:(感谢提供了随机数实现) 试试这个:(由于提供了RandomNumber实现,这要归功于) 你应该读书,还应该参加考试。像这样宽泛的、不费吹灰之力的问题会让你落选,最终你应该读一读,也应该接受调查。像这样宽泛的、不费吹灰之力的问题会让你落选,最终成为一个感恩的人。不要用那样的随机数。Please@MinhBui锁实际上是不相关的,并且是使其静止的副作用。问题是每次调用该方法时都要创建一个新

如果用户单击一个按钮,它应该在按钮上显示一个随机数(不在messagebox中)。 如何做到这一点

试试这个:(感谢提供了
随机数
实现)

试试这个:(由于提供了
RandomNumber
实现,这要归功于)


你应该读书,还应该参加考试。像这样宽泛的、不费吹灰之力的问题会让你落选,最终你应该读一读,也应该接受调查。像这样宽泛的、不费吹灰之力的问题会让你落选,最终成为一个感恩的人。不要用那样的随机数。Please@MinhBui
锁实际上是不相关的,并且是使其静止的副作用。问题是每次调用该方法时都要创建一个新的
Random
对象。由于种子是基于当前时间的,多次单击会很快创建具有相同种子的
Random
对象,因此它们产生相同的“Random”数字
Random
应该是类的成员,并且只实例化一次<只有在使用多个线程并将随机对象声明为static@Rob,非常感谢!这对我真的很有帮助:)你不想每次点击按钮都实例化一个新的
Random
?你要多快点击那个按钮,罗伯?还有,到底有多少不同的线程是有按钮点击事件将被提出?谢谢。不要用那样的随机数。Please@MinhBui
锁实际上是不相关的,并且是使其静止的副作用。问题是每次调用该方法时都要创建一个新的
Random
对象。由于种子是基于当前时间的,多次单击会很快创建具有相同种子的
Random
对象,因此它们产生相同的“Random”数字
Random
应该是类的成员,并且只实例化一次<只有在使用多个线程并将随机对象声明为static@Rob,非常感谢!这对我真的很有帮助:)你不想每次点击按钮都实例化一个新的
Random
?你要多快点击那个按钮,罗伯?还有,有多少不同的线程会引发按钮点击事件?
private static readonly Random random = new Random();
private static readonly object syncLock = new object();

public static int RandomNumber(int min, int max)
{
    lock (syncLock) // synchronize
    {
        return random.Next(min, max);
    }
}

private void button2_Click(object sender, EventArgs e)
{
    button2.Text = RandomNumber(5, 10).ToString();
}