CsvConverterExtensionToCsvTSource(IEnumerableTSource, CsvFromTSource, Char, IReadOnlyCollectionString) Method

Converts a collection of TSource instances to a CSV String with header row.

Definition

Namespace: FolkerKinzel.CsvTools.Mappings
Assembly: FolkerKinzel.CsvTools.Mappings (in FolkerKinzel.CsvTools.Mappings.dll) Version: 1.1.0+1263e8243dc2cd78095f678f813d7d9c52ea4315
C#
public static string ToCsv<TSource>(
	this IEnumerable<TSource> data,
	CsvFrom<TSource> converter,
	char delimiter = ',',
	IReadOnlyCollection<string?>? columnNames = null
)

Parameters

data  IEnumerableTSource
The data to convert to CSV. Each item will be represented with a CSV row.
converter  CsvFromTSource
An object that converts a TSource instance to a CSV row.
delimiter  Char  (Optional)
The field separator character.
columnNames  IReadOnlyCollectionString  (Optional)

A collection of column names for the header to be written, or null to use the PropertyNames of the CsvMapping as column names.

The collection determines the order in which the columns appear in the CSV file.

The collection will be copied. If the collection contains null values, empty strings, or white space, these are replaced by automatically generated column names. Column names cannot appear twice. By default the comparison is case-sensitive but it will be reset to a case-insensitive comparison if the column names are also unique when treated case-insensitive.

Type Parameters

TSource
Generic type parameter for the data type to write as CSV row.

Return Value

String
A CSV String with header row that contains the contents of data.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IEnumerableTSource. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

Exceptions

ArgumentNullExceptiondata or converter is null.
ArgumentException A column name in columnNames occurs twice.
IOExceptionI/O error.

See Also