如何将列表的内容打印到文本文件中
本文关键字:打印 文本 文件 列表 | 更新日期: 2023-09-27 18:37:06
我有餐厅数据,我正在尝试分析谁访问了特定的餐厅X。 数据具有以下结构:
public class RestaurantXPatrons
{
public String PatronName { get; set;}
public List <strings> DateofVisits = new List <strings>();
}
我创建了一个名为 lstX 的 RestaurantXPatrons 列表,我想将 lstX 输出到制表符分隔的文本文件(以便稍后在 Excel 中查看)。 所以这是我的输出代码:
var output = lstX.Select ( x => x.PatronName + "'t" + x.DateofVisits );
string filepath = @"C:'data.txt";
System.IO.File.WriteAllLines(filepath, output);
当我在Excel或记事本中查看结果时,我看到"System.Collections.Generic.List'1[System.String]",其中应该有餐厅 X 的每位顾客的访问日期列表的内容。 我的问题是,如何将列表的内容放入我的输出中?
您需要
执行类似x.DateOfVisits.FirstOrDefault()
的操作(以获取第一个实例)或将列表展平为字符串,例如:String.Join("; ", x.DateOfVisits)
。
或者,如果您想执行以下操作:
Paul 01/01/2013
Paul 01/02/2013
Sally 01/01/2013
你可以做
from x in listX
group x by new { x.PatronName, x.DateOfVisit } into g
select new String(g.Key.PatronName + "'t" + g.Key.DateOfVisit)
。没有我可以测试的东西,所以这一切都是"盲目"完成的 - 希望能让你走上正轨。
您需要
遍历集合(输出变量),然后将它们写入StringBuilder,或者使用StreamWriter对象上的WriteLine将它们直接写入磁盘。
将鼠标悬停在 var 变量上时,您将看到它是 Select 方法(LINQ 扩展方法)返回的一种集合类型。 您需要遍历它并逐行编写它。