我是C#和随机数生成器的新手,但需要为我正在进行的课程编写模拟器代码。我的for循环和用户定义的变量有困难。我在Visual Studio中进行编码并且需要用户从列表中选择一个数字(或者将数字作为文本输入),但是程序要将其作为整数读取,而不是字符串,然后使用此整数作为数字生成随机数的时间。
我需要稍后为此随机数生成器分配概率分布,但是现在我只需要运行该东西!我收到一个错误,它无法将int转换为字符串(反之亦然,具体取决于我如何编码)。以及获取我的本地变量i未分配的错误。我已经查看了类似生成器的其他代码,我看不出我的for循环的区别。请帮忙!下面是表单空间C#代码:
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;
namespace GenerateProfile
{
public partial class Form1 : Form
{
int N;
public Form1()
{
InitializeComponent();
}
private void ChooseN_SelectedIndexChanged(object sender, EventArgs e)
{
N = ChooseN;
}
private void SBtn_Click(object sender, EventArgs e)
{
Random rnd = new Random();
int num = rnd.Next(0, 100);
pi.Text = num.ToString();
for (int i; <= N; i++)
{
num = rnd.Next(0, 100);
pi.Text = pi.Text + num.ToString();
}
}
private void ClBtn_Click(object sender, EventArgs e)
{
Close();
}
}
}
答案 0 :(得分:-3)
我自己想通了。我没有正确阅读ChooseN。这解决了它。
private void Gen_Click(object sender, EventArgs e)
{
MessageBox.Show("N=", this.txtN.Text);
N = Convert.ToInt32(txtN.Text);
Random rnd = new Random();
int num = rnd.Next(-1, 1);
pitxt.Text = num.ToString();
int[] = { num };
for (int i = 1; i <= N; i++)
{
num = rnd.Next(-1, 1);
pitxt.Text = pitxt.Text + "," + num.ToString();
int[] = { int[], num };
}