Rob*_*Rob 9 .net csv filehelpers
我正在尝试使用FileHelpers解析这种类型的CSV文件:
Tom,1,2,3,4,5,6,7,8,9,10
Steve,1,2,3
Bob,1,2,3,4,5,6
Cthulhu,1,2,3,4,5
Greg,1,2,3,4,5,6,7,8,9,10,11,12,13,14
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何使用FileHelpers解析它.我想我应该可以这样做:
[DelimitedRecord(",")]
public class MyRecord
{
public string Name;
public List<int> Values;
}
Run Code Online (Sandbox Code Playgroud)
但FileHelpers似乎无法做到这一点.我能做的最好的就是:
[DelimitedRecord(",")]
public class MyRecord
{
public string Name;
public string Values;
public string[] ActualValuesInNiceArray
{
get { return Values.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries); }
}
}
Run Code Online (Sandbox Code Playgroud)
然后我需要Values
在逗号上拆分以获取每条记录的值集.如果我必须手动解析每个记录的一部分,那么使用FileHelpers似乎没什么意义.
我错过了什么吗?我已经浏览了文档/示例,但似乎无法找到我的格式的解决方案.Excel对我的格式没有任何问题,所以我想有一种方法可以使用现有的免费库(FileHelpers或其他一些库)来实现.有任何想法吗?
Mar*_*eli 12
您可以使用数组字段,库将完成工作:
[DelimitedRecord(",")]
public class MyRecord
{
public string Name;
public int[] Values;
}
Run Code Online (Sandbox Code Playgroud)
你甚至可以使用[FieldArrayLength(2,8)]
[DelimitedRecord(",")]
public class MyRecord
{
public string Name;
[FieldArrayLength(2, 8)]
public int[] Values;
}
Run Code Online (Sandbox Code Playgroud)
设置最小/最大值数
我强烈建议从这里下载最新版本的库:
http://teamcity.codebetter.com/viewType.html?buildTypeId=bt65&tab=buildTypeStatusDiv
检查工件部分