У меня есть проблема, которую я пытаюсь решить часами, и я уверен, что это что-то простое.
Вот код (лишний мусор удален, так как это не проблема).
foreach (String itemChecked in fightsList.CheckedItems)
{
try
{
Thread.Sleep(50);
using (StreamReader reader = new StreamReader(new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), Encoding.ASCII))
{
while ((line = reader.ReadLine()) != null)
{
// do all stuff to lines here...
}
}
}
catch (Exception error)
{
errorText.Text = error.ToString();
}
}
// foreach done here.
Я читаю текстовый файл, очевидный из StreamReader, но когда цикл foreach переходит ко второй итерации, он завершается неудачно перед запуском StreamReader и останавливает цикл foreach.
Первый цикл работает отлично.
Я думаю, что это проблема, потому что «StreamReader reader = new» уже существует и не может создать новый?
foreach - это проверенная строка. StreamReader читает один и тот же файл для всех экземпляров цикла, я просто определяю, где начинать и останавливаться для каждого. Моя ловушка ошибок ничего не получает, и приложение не падает.