Ho un ciclo for in C # come sotto,
int[] dim1, dim2, dim3;
//Initialize dim1, dim2 and dim3
for(int i = 0; i < dim1.Length; i++)
{
DoSomething1(i);
for(int j = 0; j < dim2.Length; j++)
{
DoSomething2(i, j);
for(int k = 0; k < dim3.Length; k++)
{
DoSomething3(i, j, k);
}
}
}
Il mio problema è che a volte la dimensione della matrice dim2 sarebbe 0, quindi DoSomething2 () e DoSomething3 () non verranno eseguiti. C'è un modo per aggirare il secondo per il ciclo se dim2.Length = 0? Cioè, quando dim2.Length = 0, voglio che i loop interi for si comportino come sotto,
int[] dim1, dim2, dim3;
//Initialize dim1, dim2 and dim3
for(int i = 0; i < dim1.Length; i++)
{
DoSomething1(i);
for(int k = 0; k < dim3.Length; k++)
{
DoSomething3(i, k);
}
}
Inoltre, i cicli for potrebbero essere di molte dimensioni (avrò dim1, dim2, dim3, dim4, ..., dimn), e fatta eccezione per la lunghezza di dim1, la lunghezza di ogni altro array potrebbe essere 0. È c'è qualche buon modo per farlo? Grazie!