[英]Program freezes when running as I try to input file contents into listbox
我正在尝试将此文件的内容添加到列表框中,但每次我这样做时,它都会冻结应用程序。 我在变量行上放了一个手表,其中包含我要输入的数据,但它从文件中读取它,发生错误。
{
StreamReader inputfile;
inputfile = File.OpenText("ClosingStock.txt");
while (!inputfile.EndOfStream)
{
string[] lines = File.ReadAllLines("ClosingStock.txt");
SummaryClosinglistBox.Items.Add(lines).ToString();
}
}
Any help would be very much appreciated.
此循环条件将导致无限循环,因为您永远不会更改 inputFile 变量上的 EndOFStream
while (!inputfile.EndOfStream)
您使用 File.ReadAllLines 读取该行的事实并不意味着inputFile stream 前进到 stream 的末尾。 ReadAllLines 打开自己的 stream,读取所有内容,然后关闭其内部 stream。 所以你只需要阅读这些行,最终添加一个文件存在检查。 一个空文件不会做任何事情,因为不会添加任何行。 但如果你真的想要,你也可以添加对行数的检查。
if(File.Exists("ClosingStock.txt"))
{
string[] lines = File.ReadAllLines("ClosingStock.txt");
if(lines != null && lines.Length > 0)
SummaryClosinglistBox.Items.AddRange(lines);
}
请注意,要将一组项目添加到 ObjectCollection,您应该使用 AddRange 而不仅仅是 Add
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.