use*_*517 1 c# linq streamwriter
C# 我有一个控制台应用程序,可以读取和写入"人员"详细信息的获取/设置列表.它正常工作,直到我尝试将其写入文本文件.有人可以告诉我为什么将"Person"细节的最后一行写入我的文本文件而不是整个列表?
loadData();
Console.WriteLine("All People");
//1st query - just select all people
var queryAllPeople = from person in people select person;
foreach (Person p in queryAllPeople)
{
using (StreamWriter writer = new StreamWriter("people.txt"))
{
writer.WriteLine(p);
}
Console.WriteLine(p);
}
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
您正在为每次迭代编写一个具有相同名称的新文件.您将需要创建StreamWriter循环外部:
using (StreamWriter writer = new StreamWriter("people.txt"))
{
foreach (Person p in queryAllPeople)
{
writer.WriteLine(p);
Console.WriteLine(p);
}
}
Run Code Online (Sandbox Code Playgroud)