C#:将自定义集合转储到 csv 文件的最简单方法

标签 c# serialization collections csv

我有课

public class DevicePatchInfo
{
  public string HostName { get; set; }
  public string PatchName { get; set; }
  public bool IsPresent { get; set; }   
}

我有一个 List<DevicePatchInfo>它加载了数据并绑定(bind)到数据网格。我想按下一个按钮并将其序列化为一个 csv 文件。

显而易见的方法是:

  1. 在构造函数中使用 csv 路径创建一个 StreamWriter。
  2. 通过反射读取 DevicePatchInfo 类的所有属性名称,并将其作为第一行写入 csv 文件。
  3. 使用 foreach 遍历列表。
  4. 读取列表中的每个项目并创建一个 string.format,用逗号分隔所有项目值。
  5. stream.write 新字符串
  6. 完成后释放 streamwriter。

哼!有没有更简单的解决方案?或者我应该直接输入代码而不是这个。

最佳答案

使用开源 FileHelpers library ,它会为你做这件事。

关于C#:将自定义集合转储到 csv 文件的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7543597/

相关文章:

c# - 如何在单个匹配中选择没有特殊字符的整个文本?

android - Firestore 自定义 `toObject` 反序列化

c# - 如何从 ASP.NET Core 中的 ActionFilterAttribute 访问 AppSettings

c# - Windows 手机 : RemoveBackEntry after navigate failing

ruby-on-rails - rails 3.2 : Replace null values with empty string from json serialization

entity-framework - 在 Entity Framework 代码中,有没有办法向导航集合添加分页?

java - 为什么 .size() 不是集合上的 getSize()

c# - 为整数键控模型集合寻找优雅/高效的解决方案

c# - 错误 : "No data exists for the row/column" using OdbcDataReader

javascript - 如何反序列化 node.js 中的 PHP session ?