很抱歉,如果之前有人询问过。 我需要从NxN矩阵中随机选择一个条目, 试图使用
Random r = new Random();
int x = r.Next0,N-1);
int y = r.Next(0,N-1);
//some method to operate on x and y
Open(x,y);
但是对于N = 10,我只得到大约44个独特的x和y对,之后它只重复已经选择的对。
有什么理由?是因为我使用相同的Random实例吗?
答案 0 :(得分:0)
此代码将按顺序输出'Keys = 81'(9 * 9),因此您的代码必定存在其他问题。
Random r = new Random();
int N = 10;
Dictionary<string, string> d = new Dictionary<string,string>();
while (true) {
int x = r.Next(0, N - 1);
int y = r.Next(0, N - 1);
string s = x + "." + y;
if (!d.ContainsKey(s)) {
d[s] = s;
Console.WriteLine("Keys = " + d.Keys.Count);
}
}