如果一个在C#中是多维数组,那么a[0,1]或a[1,0]是否紧随a[0,0]在内存中。这对于知道如何迭代整个多维数组的顺序非常重要。如果操作错误,将会导致不断缺失缓存,而且错误的方式会非常慢。
就是这样。
应该有非常不同的性能。
而哪个是快的,哪个是慢的取决于我的问题的答案。
就是这样。
for (int i = 0; i < count1; ++ i ) {
for (int j = 0; j < count2; ++ j ) {
do something with a[i,j]
}
}
应该有非常不同的性能。
for (int j = 0; j < count2; ++ j ) {
for (int i = 0; i < count1; ++ i ) {
do something with a[i,j]
}
}
而哪个是快的,哪个是慢的取决于我的问题的答案。