【发布时间】:2015-04-10 09:48:12
【问题描述】:
我有一个项目,我必须将各种约会加载到日历应用程序中。当我实现这个加载方法时,我应该能够以以下格式将我的数据写入text file:
10/04/2015 '\t' 10:40 '\t' 30 '\t' test '\t' test.
'\t' = tab
解决方案构建成功,但是当我在没有调试的情况下启动时,应用程序在后台打开并且不显示在屏幕上。然后我必须去任务管理器并结束该过程。
申请表未显示。我的应用程序在不使用此加载方法的情况下运行良好,但是我需要能够预先填充我的日历以及手动输入约会。
StreamReader fileReader;
string line;
DateTime nStart;
DateTime nDate;
int nLength;
string nSubject;
string nLocation;
bool result;
public bool Load()
{
fileReader = new StreamReader("D:\\All Downloads\\CalendarApp\\Apps.txt");
line = fileReader.ReadLine();
while (line != null)
{
string s = line;
string[] split = s.Split('\t');
nDate = Convert.ToDateTime(split[0]);
nStart = Convert.ToDateTime(split[1]);
nLength = Convert.ToInt32(split[2]);
nSubject = split[3];
nLocation = split[4];
IAppointment temp = new Appointment(nSubject, nLocation, nStart, nLength, nDate);
listAppointments.Add(temp);
}
fileReader.Close();
if (listAppointments == null)
{
result = false;
}
else
{
result = true;
}
return result;
【问题讨论】:
-
您的
fileReader.ReadLine()调用必须包含在while子句中。使用using语句来结束 StreamReader 构造是一个很好的做法。而且,你应该在你的方法中声明你的变量什么时候才会被使用。 -
学习调试。点击 Visual Studio 中的暂停按钮,看看它在哪里。然后单步执行你的代码,看看为什么它会停留在那个循环中。
标签: c# winforms streamreader