下面代码单步调试能显示正确的3排3位的随机数,但直接运行却总是显示3排3位相同的随机数,是什么原因呢?
class Program
{
static void Main(string[] args)
{
Test test = new Test();
List<string> temp = test.GetStringList();
Console.WriteLine(temp[0] + temp[1] + temp[2]);
Console.ReadKey();
}
}
class Test
{
List<string> number = new List<string>();
private int[] GetNumber()
{
int[] temp = new int[3];
Random ran = new Random();
for (int i = 0; i < temp.Length; i++)
{
temp[i] = ran.Next(1, 10);
}
return temp;
}
public List<string> GetStringList()
{
for (int i = 0; i < 3; i++)
{
string str = "";
int[] temp = null;
temp = GetNumber();
for (int j = 0; j < 3; j++)
{
str += temp[j].ToString();
}
number.Add(str);
}
return number;
}
}
class Program
{
static void Main(string[] args)
{
Test test = new Test();
List<string> temp = test.GetStringList();
Console.WriteLine(temp[0] + temp[1] + temp[2]);
Console.ReadKey();
}
}
class Test
{
List<string> number = new List<string>();
private int[] GetNumber()
{
int[] temp = new int[3];
Random ran = new Random();
for (int i = 0; i < temp.Length; i++)
{
temp[i] = ran.Next(1, 10);
}
return temp;
}
public List<string> GetStringList()
{
for (int i = 0; i < 3; i++)
{
string str = "";
int[] temp = null;
temp = GetNumber();
for (int j = 0; j < 3; j++)
{
str += temp[j].ToString();
}
number.Add(str);
}
return number;
}
}
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using SHDocVw;
using mshtml;class Program
{
static void Main(string[] args)
{
Test test = new Test();
List<string> temp = test.GetStringList();
Console.WriteLine(temp[0] + temp[1] + temp[2]);
Console.ReadKey();
}
}class Test
{
List<string> number = new List<string>();
private int[] GetNumber()
{
int[] temp = new int[3];
Random ran = new Random();
for (int i = 0; i < temp.Length; i++)
{
temp[i] = ran.Next(1, 10);
System.Threading.Thread.Sleep(30);
}
return temp;
} public List<string> GetStringList()
{
for (int i = 0; i < 3; i++)
{
string str = "";
int[] temp = null;
temp = GetNumber();
for (int j = 0; j < 3; j++)
{
str += temp[j].ToString();
}
number.Add(str);
}
return number;
}
}
{
static void Main(string[] args)
{
Test test = new Test();
List<string> temp = test.GetStringList();
Console.WriteLine(temp[0] + " " + temp[1] + " " + temp[2]);
Console.ReadKey();
}
}
class Test
{
List<string> number = new List<string>();
Random ran = new Random();
private int[] GetNumber()
{
int[] temp = new int[3]; for (int i = 0; i < temp.Length; i++)
{
temp[i] = ran.Next(1, 10);
}
return temp;
}
public List<string> GetStringList()
{
for (int i = 0; i < 3; i++)
{
string str = "";
int[] temp = null;
temp = GetNumber();
for (int j = 0; j < 3; j++)
{
str += temp[j].ToString();
}
number.Add(str);
}
return number;
}
}
{
static void Main(string[] args)
{
Test test = new Test();
List <string> temp = test.GetStringList();
Console.WriteLine(temp[0] + temp[1] + temp[2]);
Console.ReadKey();
}
}
class Test
{
List <string> number = new List <string>();
Random ran = new Random(); //将ran定义为全局变量即可
private int[] GetNumber()
{
int[] temp = new int[3];
//Random ran = new Random();
for (int i = 0; i < temp.Length; i++)
{
temp[i] = ran.Next(1, 10);
}
return temp;
}
public List <string> GetStringList()
{
for (int i = 0; i < 3; i++)
{
string str = "";
int[] temp = null;
temp = GetNumber();
for (int j = 0; j < 3; j++)
{
str += temp[j].ToString();
}
number.Add(str);
}
return number;
}
}