Код ниже читает текстовый файл с заголовком пути и сопровождается списком имен файлов. код добавляет каждый файл (со второй строки и дальше) в ListView. По какой-то причине последние две строки никогда не достигаются. Любые идеи?C# does not pass foreach code
private void loadFromFile()
{
if ((faxInOn != null) && File.Exists(@"D:\Settings.ye"))
{
string[] s;
StreamReader sr = new StreamReader(@"D:\Settings.ye", Encoding.Default);
s = sr.ReadToEnd().Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
faxInOn.changePath(s[0]);
foreach (string temp in s)
foreach (ListViewItem lvi in listView1.Items)
if (lvi.Text == temp.Substring(1))
lvi.ImageIndex = int.Parse(temp.Substring(0, 1));
sr.Close();
sr.Dispose();
}
}
Благодаря
какие последние 2 строки? закрывающие скобки? sr.Close() и sr.Dispose() ??? – scartag
Что вы подразумеваете под «двумя последними строками»? Последние две строки кода или две последние строки текстового файла? Кроме того, рассмотрите использование 'File.ReadAllLines' или' File.ReadLines', которые являются более простыми способами получения строк из файла. Если вы * * хотите использовать 'StreamReader', используйте инструкцию' using'. –
Кронштейны - ваши друзья. Даже если у вас есть только один оператор, добавление скобок делает ваш поток программы ** много понятным. – ChrisF