use*_*455 -1 c# multidimensional-array
我从单维数组中获取值的方法是:
Random random = new Random();
getit = w[r.Next(0, w.Length)];
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何对二维阵列做同样的事情吗?
为确保您具有均匀分布,您不应生成多个随机数.通过乘以维度的长度,选择索引,然后找到与该索引对应的一个项目来计算总可能的值数:
public static T GetRandomValue<T>(T[,] array, Random random)
{
int values = array.GetLength(0) * array.GetLength(1);
int index = random.Next(values);
return array[index / array.GetLength(0), index % array.GetLength(0)];
}
Run Code Online (Sandbox Code Playgroud)