用c#编译一个从0-9随机选一个数字?代码和关键代码;求高手指点

需要在一个textbox里面显示七个数字,但不能全部相同的
需要添加到textbox里面如:1234567这种

/// <summary>
/// 产生随机数字的数组
/// </summary>
/// <param name="num">个数</param>
/// <param name="minValue">起始值</param>
/// <param name="maxValue">最大值</param>
/// <returns></returns>
public int[] getRandomNum(int num, int minValue, int maxValue)
{
//使用系统时间作为随机种子
Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
int[] arrNum = new int[num];
int tmp = 0;
bool notRepeat;

for (int i = 0; i <= num - 1; )
{
tmp = ra.Next(minValue, maxValue); //随机取数
notRepeat = true;
for (int j = 0; j < i; j++)
if (tmp == arrNum[j])
{
notRepeat = false;
break;
}
if (notRepeat) arrNum[i++] = tmp;
}
return arrNum;
}

protected void Button1_Click(object sender, EventArgs e)
{
int[] result = getRandomNum(7, 0, 9);
string temp = "";

for (int i = 0; i < result.Length; i++)
{
temp += result[i].ToString() + " ";
}
TextBox1.Text = temp;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-20
Random ramd = new Random(unchecked((int) DateTime.Now.Ticks));//如果写成new Random()则程序每次生成的随机数是相同的
for (int i = 0; i < 7; i++)
{
textBox1.Text +=i==0?ramd.Next(1,10):ramd.Next(0, 10);
//第一位为非0
}
第2个回答  2010-11-20
Random random = new Random();
for (int i = 0; i < 7; i++)
{
//textBox1为控件名称
this.textBox1.Text += random.Next(0, 10).ToString();
}
楼上的方法是取不到9这个数的
第3个回答  2010-11-20
int[] num=new int[10];
Random r=new Random();
for(int i=0;i<num.length;i++)
{
num[i]=r.next(9);
}
然后输出num就好了。
用的是随机数函数;
有问题继续讨论哈。

亲手写的呀,楼主要给分哟。
相似回答