Я поставил вопрос до этого, здесь: C# Array of List Index out of bounds Его о том же коде. Мой код работает нормально, но когда он заканчивает файл, вместо того, чтобы пробиваться к следующему имени файла (в цикле foreach), он остается тем же - так совпадают совпадения, которые всегда повторяются, и он просто добавляет один и тот же материал в разные позиции списка. Я попытался изменить положение fs.Close(), добавив оператор break, но ни один из них не работал.Потерянный в вложенной петле
Что я делаю неправильно в этом случае? На моем логическом представлении он должен перейти во внешний цикл после завершения конкретного файла.
Я редактировал код минимальной потребности - в любом случае здесь ссылку с полным кодом: http://pastebin.com/xcKczQLC
Эта связь со всем кодом содержит ту часть, где я открыть файл.
Спасибо.
foreach (string fileName in fullFileName) //Start processing each file
{
// Lots of code here - reading a mixed file - no need to show
bool b = filecontents.Contains("CIP3EndOfFile");
if(b)
{
//Code manipulating contents in filecontents (a string)
var matches = Regex.Matches(query, pattern);
//When the foreach (Match m in matches) loop ends he always returns to the line above
finalcontent[listpos] = new List<xmldata>();//Initializing a list for each filename
foreach (Match m in matches)
{
//Lots of code doing some operations with the found match
if (i < colors_str.Length)
{
finalcontent[listpos].Add(new xmldata//The exception is thrown right here
{
colorname = colors_str[i],
colorvalues = values,
});//Closing list add declaration
}//Closing if
i++;
}//Closing foreach loop
if (i >= colors_str.Length)
{
listpos++;
i = 0;
}
fs.Close();//closing current file
//In this moment i expected that it would go for the foreach (string fileName in fullFileName) loop
//Instead he returns to this inner foreach loop
}//Closing boolean if
}//End file reading - closing for
}//Finished processing each filename (string filename in filename)
Где вы открываете файл? – Valentin
Его другая часть кода - чтобы соответствовать стандартам сообщества, я уменьшил код до минимально необходимого для анализа. Но я разместил ссылку на весь код. –
Возможный дубликат [Разрыв в вложенном цикле] (http://stackoverflow.com/questions/324831/breaking-out-of-a-nested-loop) –