下面的代码读取一个带有路径标题的文本文件,后跟一个文件名列表。 该代码将每个文件(从第二行开始)添加到ListView。 由于某种原因,最后两行永远不会到达。 有什么建议吗?C#没有通过foreach代码
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();
}
}
感谢
什么最后两行?最后的大括号? sr.Close()和sr.Dispose()??? – scartag 2013-02-16 19:59:26
“最后两行”是什么意思?代码的最后两行,或文本文件的最后两行?此外,请考虑使用'File.ReadAllLines'或'File.ReadLines',这是从文件中获取行的更简单方法。如果您希望使用StreamReader,请使用'using'语句。 – 2013-02-16 19:59:33
方括号是你的朋友。即使你只有一条语句,添加括号可以让你的程序流**更清晰。 – ChrisF 2013-02-16 20:01:25