2016-04-06 26 views
0

我有這樣如何將FileHelpers與具有層次結構的記錄一起使用?

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」。

是否有可能簡單地用FileHelpers解析我的.csv文件?或者其他一些圖書館?不要費心使用第三方工具創建更復雜的解決方案(帶有for-loops左右)。然後我將用.NET創建一個標準解決方案。

回答

0

所以你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() 
       }); 
相關問題