我正在創建一個銀行程序,我希望能夠讀取我的帳戶文本文件並將它們添加到列表中。我的問題是,它只讀取1行,之後,它會得到一個錯誤,說該行爲空,但它不應該是因爲第二個應該是年齡。C#StreamReader無法讀取行
我希望它不斷地通過帳戶添加數據到列表中,每個帳戶由一個空行分隔。
代碼:
StreamReader FileToRead = new StreamReader(@"C:\Users\...\Accounts.txt");
Account NewAccount = new Account();
string line;
do
{
NewAccount.Name = FileToRead.ReadLine();
NewAccount.Age = int.Parse(FileToRead.ReadLine());
NewAccount.Balance = int.Parse(FileToRead.ReadLine());
NewAccount.Address.Country = FileToRead.ReadLine();
NewAccount.Address.City = FileToRead.ReadLine();
NewAccount.Address.FirstLine = FileToRead.ReadLine();
NewAccount.Address.SecondLine = FileToRead.ReadLine();
NewAccount.Address.PostCode = FileToRead.ReadLine();
NewAccount.AccountNumber = int.Parse(FileToRead.ReadLine());
Accounts.Add(NewAccount);
} while ((line = FileToRead.ReadLine()) != null);
文本文件:http://pastebin.com/raw.php?i=1r9TEUPx
通過線的程序行步驟,並確定第一點你的期望偏離現實。 – usr
NewAccount.Name最終是什麼? – CodingGorilla
它正在閱讀的第一行是什麼?這是全部文字嗎?在這種情況下,它可能是Windows'\ r \ n'換行符和Unix'\ n'換行符的混合。 –