foreach (var item in items)
{
var row = new ExtendedStringBuilder();
foreach (var property in properties)
{
var value = property.Info.GetValue(item)?.ToString();
validateCharacters(value, ColumnDelimiter, "property value");
validateCharacters(value, RowDelimiter, "property value");
if (row.BeenAppended)
{
row += ColumnDelimiter;
}
row += value;
}
result += RowDelimiter;
result += row;
}