Le morceau de code suivant génère une exception IndexOutOfRangeException non gérée, mais je ne sais pas pourquoi. Le a for-loop
est défini pour être plus petit que le i for-loop
car le tableau de tableaux est 3x2. J'ai essayé de proie le i et un mais sans chance. Pouvez-vous voir l'erreur?Erreur IndexOutOfRangeException en C# après la création d'une double boucle
namespace text_test
{
class txt_program
{
//() You don't use "args" in the method
public void txt()
{
int[][] names = { new int[] { 2, 3, 4}, new int[] { 5, 6, 7} };
using (StreamWriter SW = new StreamWriter(@"txt.txt"))
{
for (int i = 0; i < 4; i++)
{
for (int a = 0; a < 3; a++)
{
SW.Write(" " + names[i][a]);
}
SW.WriteLine(names);
}
}
}
}
}
Le résultat attendu serait un fichier txt:
2 3 4
5 6 7
'for (int i = 0; i <4; i ++)' - 'i' va de 0 à 3, array est de 0 à 2. Mais voici un conseil: Si vous avez des problèmes comme est, exécutez-le sous le débogueur et voir où il se brise. –