# Type Conversion

When reading and writing a custom class will get converted to and from a CSV row. Each CSV field can be converted to and from a class property.
This conversion for class properties is done via type converters.

There are many built in converters already available to you.

CsvHelper Converter | C# type keyword | .NET Type
--- | --- | ---
ArrayConverter | [ ] | System.Array
BigIntegerConverter |  | System.Numerics.BigInteger
BooleanConverter | bool | System.Boolean
ByteArrayConverter | byte[ ] | System.Array
ByteConverter | byte | System.Byte
CharConverter | char | System.Char
CollectionGenericConverter |  | System.Collections.Generic.Collection<T>, System.Collections.Generic.List<T>
DateOnlyConverter |  | System.DateOnly
DateTimeConverter |  | System.DateTime
DateTimeOffsetConverter |  | System.DateTimeOffset
DecimalConverter | decimal | System.Decimal
DoubleConverter | double | System.Double
EnumConverter | enum | System.Enum
GuidConverter |  | System.Guid
IDictionaryConverter |  | System.Collections.Generic.Dictionary<string, string>
IDictionaryGenericConverter |  | System.Collections.Generic.Dictionary<TKey, TValue>
IEnumerableConverter |  | System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList
IEnumerableGenericConverter |  | System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>
Int16Converter | short | System.Int16
Int32Converter | int | System.Int32
Int64Converter | long | System.Int64
NullableConverter |  | System.Nullable<T>
SByteConverter | sbyte | System.SByte
SingleConverter | float | System.Single
StringConverter | string | System.String
TimeOnlyConverter |  | System.TimeOnly
UInt16Converter | ushort | System.UInt16
UInt32Converter | uint | System.UInt32
UInt64Converter | ulong | System.UInt64
UriConverter |  | System.Uri