[英]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.