如何尽可能快地初始化基本类型的多维数组?
我坚持使用多维数组.我的问题是表现.以下例程初始化大约100x100阵列.500蜱.删除int.MaxValue初始化导致大约.180个滴答仅用于循环.大约100个刻度来创建数组而不循环并且没有初始化为int.MaxValue.
我对如何优化数组的非默认初始化的建议持开放态度.我的一个想法是在可用时使用较小的原始类型.例如,使用byte而不是int,可以节省100个滴答.我会对此感到满意,但我希望我不必更改原始数据类型.
public int[,] CreateArray(Size size) {
int[,] array = new int[size.Width, size.Height];
for (int x = 0; x < size.Width; x++) {
for (int y = 0; y < size.Height; y++) {
array[x, y] = int.MaxValue;
}
}
return array;
}
Run Code Online (Sandbox Code Playgroud)
使用以下内容减少到450个滴答:
public int[,] CreateArray1(Size size) {
int iX = size.Width;
int iY = size.Height;
int[,] array = new int[iX, iY];
for (int x = 0; x < iX; x++) {
for …Run Code Online (Sandbox Code Playgroud)