簡體   English   中英

如何對具有分層結構的記錄使用FileHelpers?

[英]How to use FileHelpers with records with a hierarchical structure?

我有這樣的課

public class Foo
{
    public string Name { get; set; }

    private List<string> _bar = new List<string>();
    public List<string> Bar
    {
        get { return _bar; }
        set { _bar = value; }
    }
}

我的.csv文件如下所示:

Foo;Bar
A;B
A;C

因此,我想要一個名稱為“ A”的Foo對象,以及一個名稱為“ B”和“ C”的Bar-list(或數組)。

是否可以使用FileHelpers解析我的.csv文件? 還是其他圖書館? 不必費心使用第3方工具來創建更復雜的解決方案(帶有for循環)。 然后,我將使用.NET創建一個標准解決方案。

因此,您的FileHelpers類應如下所示:

[DelimitedRecord(";")]
public class FooSpec
{
    public string Name;
    public string Bar;
}

將所有記錄讀入數組,並使用Linq進行調整。

var engine = new FileHelperEngine<FooSpec>();
// ReadFile returns an array of Foo
var records = engine.ReadFile(filename);

var fooRecords = list
             .GroupBy(x => x.Name)
             .Select(x => 
                new Foo() { 
                  Name = x.Key, 
                  Bar = x.Select(y => y.Bar).ToList() 
                });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM