2

我编写了一个方便的小类来从各种数据源生成 CSV 文件。例如,我可以传入一个 DataTable 或一组 IEnumerable 对象(每个对象都有效地表示一个“行”),它会根据需要忠实地转义和分隔文件。它似乎工作得很好,但我正在努力思考解决最后一块的最佳方法。

我希望能够为输出到 CSV 的每种类型设置默认格式化程序。因此,例如,我希望能够指定特定于区域设置的日期格式以用于所有日期时间。或者,您的某个字段可能是十进制数字,并且您希望在输出到 CSV 时将其格式化为货币。(所以基本上能够为给定数据类型定义全局格式化程序,和/或为数据中的特定列定义特定格式化程序(即,只是格式化为货币的“价格”字段))

我已经研究了 .NET 框架,但我找不到这样的东西。这只是我需要自己滚动的东西吗?如果是这样,我可能会在这个任务中看到任何有用的课程吗?

谢谢!

4

1 回答 1

3

这只是我需要自己滚动的东西吗?

是的。

在这个任务中我可能会看到任何有用的课程吗?

不是一个类,而是一个接口 - IFormatProvider.

您需要为要格式化的所有类型实现它,并将实现传递给不同的格式化函数。

看看这个代码项目示例的实现和这个SO question and answers 的一些警告。

您可能还想查看该IFormattable接口,因为它专门用于将对象格式化为字符串表示形式。

于 2012-04-26T19:11:47.737 回答