Jai*_*Oro 9 c# random multidimensional-array
我想用随机值填充数组.我写的代码是这样的:
public class PersonalityMap
{
const int size = 16;
byte[,] fullMap = new byte[size, size];
/// <summary>
/// Generates a random map
/// </summary>
public PersonalityMap()
{
Random random = new Random();
byte[] row = new byte[size];
for (int i = 0; i < size; i++)
{
random.NextBytes(row);
for (int j = 0; j < size; j++)
fullMap[i, j] = row[j];
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我觉得有办法更快地做到这一点.
好吧,你可以创建一个单维数组,填充它,然后用Buffer.BlockCopy复制它:
Random random = new Random();
byte[] row = new byte[size * size];
random.NextBytes(row);
Buffer.BlockCopy(row, 0, fullMap, 0, size * size);
Run Code Online (Sandbox Code Playgroud)
但是,在您尝试进一步优化之前 - 您需要多快的速度?您是否对应用程序进行了基准测试并确定这是您的应用程序的瓶颈?
| 归档时间: |
|
| 查看次数: |
2841 次 |
| 最近记录: |