C# 要在文本框中显示的随机数生成器
我有点被我正在做的事情卡住了。。我有一个windows窗体应用程序,它有不同的按钮,每个按钮应该做不同的事情。现在我的问题是: 在一个按钮上,当我按下它时,它会生成随机数(例如0-1000),并在一个文本框中显示该数字,我在程序中也有这个文本框。我尝试在按钮上执行以下代码:C# 要在文本框中显示的随机数生成器,c#,random,numbers,generator,C#,Random,Numbers,Generator,我有点被我正在做的事情卡住了。。我有一个windows窗体应用程序,它有不同的按钮,每个按钮应该做不同的事情。现在我的问题是: 在一个按钮上,当我按下它时,它会生成随机数(例如0-1000),并在一个文本框中显示该数字,我在程序中也有这个文本框。我尝试在按钮上执行以下代码: private void button5_Click(object sender, EventArgs e) { Random slumpGenerator = new Random(); int tal;
private void button5_Click(object sender, EventArgs e)
{
Random slumpGenerator = new Random(); int tal;
tal = slumpGenerator.Next();
}
但不幸的是,文本框上没有显示数字。我想这可能是因为我没有提到数字应该显示在我的文本框上,有什么想法吗?当然,你没有在文本框上设置任何属性。您正在忽略新生成的随机数。你需要一些类似的东西:
Random slumpGenerator = new Random();
// Or whatever limits you want... Next() returns a double
int tal = slumpGenerator.Next(0, 100);
textBox.Text = tal.ToString();
请注意,一般来说,创建许多随机
实例是一个不好的主意-但这并不像将其设置为静态
变量那么简单。。。有关更多详细信息,请参阅我的。还要注意,我是如何修改代码的,在一条语句中声明一个变量并为其赋值的——这通常比在一条语句中声明然后为其赋值更可取
private void button5_Click(object sender, EventArgs e)
{
Random slumpGenerator = new Random();
int tal = slumpGenerator.Next(0, 1000);
txtBxName.Text = tal.ToString();
}
可以考虑<代码> RNGCryptoServiceProvider > />代码>强>线程安全< /强>类(<代码> Security .Security <密码> >命名空间),这是由密码服务提供者提供的实现的加密随机数生成器(RNG)。< /P> 实现比使用
System.Random
类要困难一些
示例实现如下所示:
您可以阅读更多关于
RNGCryptoServiceProvider
的问题:您需要在代码中添加一些内容。这是你想要的全部代码
private void button5_Click(object sender, EventArgs e)
{
Random slumpGenerator = new Random(); int tal;
tal = slumpGenerator.Next(0, 1000);
textBox.Text = tal.ToString();
}
您必须设置希望它生成的最小值和最大值。您还必须将最小值1设置为低于您真正想要生成的值。i、 e.如果您想生成一个介于10和20之间的数字,您需要将最小值设置为9,将最大值设置为20
您还需要将该值放入文本框等,以显示该值。由于它是一个int,并且textbox的文本是字符串
格式,因此需要将其转换为字符串
,方法是将其放在代码末尾:.ToString()
我知道这个答案已经晚了,但它可能会帮助你以后
**Random Number Generation in C#.Net**
在编写代码之前添加两个名称空间
*使用系统安全
使用System.Security.Cryptography*
代码:
复制并将以下代码放置在按钮内
RNGCryptoServiceProvider xx = new RNGCryptoServiceProvider();
byte [] random_number=new byte [512];
xx.GetBytes(random_number);
foreach (var i in random_number)
{
textBox1.Text = i.ToString();
}
有关c#.net中的更多详细信息,请参阅我的blogspot:mbtangamalai.blogspot。在中,您生成一个数字,但不会将数字(作为字符串)影响到TextBox的“Text”属性。我认为一个好的初学者编程课程已经准备好了。。。
RNGCryptoServiceProvider xx = new RNGCryptoServiceProvider();
byte [] random_number=new byte [512];
xx.GetBytes(random_number);
foreach (var i in random_number)
{
textBox1.Text = i.ToString();
}