7

私は CsvHelper を使用しており、csv ファイルを解析できます。私の質問は、オブジェクトを解析Dateする方法ですDateTime

コレクションを反復するのではなく、csv を解析している間に CsvHelper 経由で変換したい

public static List<StockModel> SplitCsv(string csv)
{
    var textReader = new StringReader(csv);

    var csvr = new CsvReader(textReader);
    csvr.Configuration.RegisterClassMap<ModelMap>();

    var records = csvr.GetRecords<StockModel>().ToList();
    return records;
}

public class StockModel
{
    public string Date { get; set; } // I want this object to be DateTime
    public string Base { get; set; }
    public string Open { get; set; }
}

public sealed class ModelMap : CsvClassMap<StockModel>
{
    public ModelMap()
    {
        Map(m => m.Date);
        Map(m => m.Base);
        Map(m => m.Open);
    }
}

CSV の例

Date,Base,Open
2016-02-29,1437.530029,1445.839966
2016-02-25,1431.439941,1431.439941
2016-02-24,1430.459961,1432.430054
4

2 に答える 2

0

これはあなたを助けるかもしれません:

        string dateTime = "2016-02-29";
        DateTime dt;
        DateTime.TryParseExact(dateTime,
            "yyyy-MM-dd",
            CultureInfo.InvariantCulture,
            DateTimeStyles.AssumeLocal,
            out dt);

この例の適切なコードをセット演算子に入れます。

于 2016-03-14T15:01:37.813 に答える