c#直接运行跟调试的结果不一样
随机出来的不一样。求指教!!!!!!---------------------------------------------------------classStude...
随机出来的不一样。
求指教!!!!!!
---------------------------------------------------------
class Student
{
public string name;
public string id;
public string time;
public string add(ref string name)
{
Random random = new Random();
id = name+"**********"+random.Next(1000, 10000).ToString();
return id;
}
}}
这是调用类
---------------------------------------------------------
class Program
{
static void Main(string[] args)
{
Student[] score = new Student[3];
Student aa = new Student();
string name;
score[0] = new Student();
score[0].name = "dewfew";
score[0].time = "2012-01-01";
score[1] = new Student();
score[1].name = "fewgfreg";
score[1].time = "2012-01-02";
score[2] = new Student();
score[2].name = "greg";
score[2].time = "2012-01-03";
for (int i = 0; i < score.Length; i++)
{
name = score[i].name.ToString();
score[i].id = aa.add( ref name);
}
for (int i = 0; i < score.Length; i++)
{
Console.WriteLine(score[i].name + "\t" + score[i].id + "\t" + score[i].time);
}
Console.ReadLine();
}
}
--------------------------------------------------------------------这是程序入口
随机的结果在调试和直接运行的不一样!
补充一下,直接运行程序的话,三个随机数一样,
调试执行的话,三个随机数就不一样 展开
求指教!!!!!!
---------------------------------------------------------
class Student
{
public string name;
public string id;
public string time;
public string add(ref string name)
{
Random random = new Random();
id = name+"**********"+random.Next(1000, 10000).ToString();
return id;
}
}}
这是调用类
---------------------------------------------------------
class Program
{
static void Main(string[] args)
{
Student[] score = new Student[3];
Student aa = new Student();
string name;
score[0] = new Student();
score[0].name = "dewfew";
score[0].time = "2012-01-01";
score[1] = new Student();
score[1].name = "fewgfreg";
score[1].time = "2012-01-02";
score[2] = new Student();
score[2].name = "greg";
score[2].time = "2012-01-03";
for (int i = 0; i < score.Length; i++)
{
name = score[i].name.ToString();
score[i].id = aa.add( ref name);
}
for (int i = 0; i < score.Length; i++)
{
Console.WriteLine(score[i].name + "\t" + score[i].id + "\t" + score[i].time);
}
Console.ReadLine();
}
}
--------------------------------------------------------------------这是程序入口
随机的结果在调试和直接运行的不一样!
补充一下,直接运行程序的话,三个随机数一样,
调试执行的话,三个随机数就不一样 展开
4个回答
展开全部
随机数就应该不一样。
每次执行都可能不一样的,甚至是一定不一样,不然还叫什么随机数
每次执行都可能不一样的,甚至是一定不一样,不然还叫什么随机数
更多追问追答
追问
直接运行程序的话,三个随机数一样,
调试执行的话,三个随机数就不一样
追答
这样你把下面函数的 Random random = new Random();拿到函数外面,不然你每次掉用add方法的时间很短,而新的random实例创建于系统时钟有关,系统时钟相同会产生相同的随机数
class Student
{
public string name;
public string id;
public string time;
Random random = new Random();
public string add(ref string name)
{
id = name+"**********"+random.Next(1000, 10000).ToString();
return id;
}
}} }
如果不想这么改的的话,你在每次调用add方法后停一会也行。你调试时估计可能就是单步调试导致时间不靠近,才产生不同结果的(这个是我猜的)
展开全部
时间问题 你调试时间会慢 随机数就是根据时间出来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然是随机了。
结果很南一样的。
结果很南一样的。
追问
随机三次出来的数是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你都说是随机的了,每次都一样我觉得才有问题--
追问
随机三次出来的数是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询