Skip to content

Commit 8ed5029

Browse files
committedMar 21, 2024
Handle scenario when record has less values than header
1 parent 45c81c4 commit 8ed5029

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed
 

‎CsvHelper.FastDynamic/CsvReaderExtensions.cs

+16-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,14 @@ public static IEnumerable<dynamic> EnumerateDynamicRecords(this CsvReader csvRea
4040

4141
for (var i = 0; i < csvHeader.FieldNames.Length; i++)
4242
{
43-
values[i] = csvReader.Parser[i];
43+
if (i >= csvReader.Parser.Count)
44+
{
45+
values[i] = default;
46+
}
47+
else
48+
{
49+
values[i] = csvReader.Parser[i];
50+
}
4451
}
4552

4653
record = new CsvRecord(csvHeader, values);
@@ -105,7 +112,14 @@ public static async IAsyncEnumerable<dynamic> EnumerateDynamicRecordsAsync(this
105112

106113
for (var i = 0; i < csvHeader.FieldNames.Length; i++)
107114
{
108-
values[i] = csvReader.Parser[i];
115+
if (i >= csvReader.Parser.Count)
116+
{
117+
values[i] = default;
118+
}
119+
else
120+
{
121+
values[i] = csvReader.Parser[i];
122+
}
109123
}
110124

111125
record = new CsvRecord(csvHeader, values);

0 commit comments

Comments
 (0)