C#でCSVをパースする CsvHelper の Attribute について

C#

直近でC#でCSV書き込み処理が必要だったので、一番有名どころと思われる CsvHelper を使ってみました。
その中でも、ちょっとニッチな内容ですが、書き込み対象となるクラスのプロパティに属性(Attribute)について調べたので備忘録で残しておきます。

なお、Attribute に関しては、日本語記事がなかなか見つからないです・・・。結構ドキュメント少な目かもしれませんね。

そもそも Attribute 付けるとどうなるの?

書き込み対象となるクラスのプロパティに Attribute を付加することで、書き込み方を工夫することができます。
公式のサンプルに代表的なサンプルが掲載されていますので、そちらを見たほうがイメージがつかめると思います。

Attribute まとめ(公式サンプルで未掲載の Attribute 含む)

Atrtribute 関連のソースコードを読んでみると、掲載されているサンプル以外にもいくつかあります。
しかも、結構便利そうなのがあります。

以下、まとめてみました。

Format

文字列の書式を設定できます。0詰めとか右寄せとか設定できるやつです。

例:

class Hoge
{
  [Format("#,0")]
  public decimal Price {get; set;} = 1000000000;
}

とすると、 100,000,000 というように出力されます。


すみません、時間の都合上残りは後日追記します。

コメント

タイトルとURLをコピーしました