我不知道这个库,所以以下可能有帮助或没有帮助。
如果您已经有一个IEnumerable<IEnumerable<string>>
代表所有列的所有记录,则可以使用此 Linq 查询来List<Person>
获取IList<string> Attributes
:
IEnumerable<IEnumerable<string>> allRecords = .....;
IEnumerable<Person> allPersons = allRecords
.Select(rec =>
{
var person = new Person();
person.FirstName = rec.ElementAt(0);
person.LastName = rec.ElementAtOrDefault(1);
person.Attributes = rec.Skip(2).ToList();
return person;
}).ToList();
编辑:下载库,至少编译后,无法真正测试它:
IList<Person> allPersons = new List<Person>();
using (var reader = new CsvHelper.CsvReader(yourTextReader))
{
while (reader.Read())
{
var person = new Person();
person.FirstName = reader.CurrentRecord.ElementAt(0);
person.LastName = reader.CurrentRecord.ElementAtOrDefault(1);
person.Attributes = reader.CurrentRecord.Skip(2).ToList();
allPersons.Add(person);
}
}