result += string.Join(RowDelimiter, items
.Select(item =>
string.Join(ColumnDelimiter, properties
.Select(property =>
{
var value = property.Info.GetValue(item)?.ToString();
validateCharacters(value, ColumnDelimiter, "property value");
validateCharacters(value, RowDelimiter, "property value");
return value;
}))));