我正在创建一个银行程序,我希望能够读取我的帐户文本文件并将其添加到列表中。我的问题是,它只读取1行,然后读取一行错误,说该行为空,但这不应该是因为第二个应该是年龄。
我希望它不断浏览将数据添加到列表中的帐户,每个帐户都由空白行分隔。
码:
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
最佳答案
好吧,我能看到的唯一真正的错误是您没有创建Account的新实例-因此,您要做的就是更改单个帐户的值并将其读入列表-您只会结束并使用存储文件中的最后一个帐户。您需要为循环的每次迭代创建一个新帐户。
关于c# - C#StreamReader无法读取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398944/