Table of Contents

Class CsvReader

Namespace
CsvHelper
Assembly
CsvHelper.dll

Reads data that was parsed from IParser.

public class CsvReader : IReader, IReaderRow, IDisposable
Inheritance
CsvReader
Implements
Inherited Members

Constructors

CsvReader(IParser)

Creates a new CSV reader using the given IParser.

public CsvReader(IParser parser)

Parameters

parser IParser

The IParser used to parse the CSV file.

CsvReader(TextReader, IReaderConfiguration, bool)

Creates a new CSV reader using the given TextReader and CsvConfiguration and CsvParser as the default parser.

public CsvReader(TextReader reader, IReaderConfiguration configuration, bool leaveOpen = false)

Parameters

reader TextReader

The reader.

configuration IReaderConfiguration

The configuration.

leaveOpen bool

true to leave the TextReader open after the CsvReader object is disposed, otherwise false.

CsvReader(TextReader, CultureInfo, bool)

Creates a new CSV reader using the given TextReader.

public CsvReader(TextReader reader, CultureInfo culture, bool leaveOpen = false)

Parameters

reader TextReader

The reader.

culture CultureInfo

The culture.

leaveOpen bool

true to leave the TextReader open after the CsvReader object is disposed, otherwise false.

Properties

ColumnCount

public virtual int ColumnCount { get; }

Property Value

int

Configuration

public virtual IReaderConfiguration Configuration { get; }

Property Value

IReaderConfiguration

Context

public virtual CsvContext Context { get; }

Property Value

CsvContext

CurrentIndex

public virtual int CurrentIndex { get; }

Property Value

int

HeaderRecord

public virtual string[]? HeaderRecord { get; }

Property Value

string[]

this[int]

public virtual string? this[int index] { get; }

Parameters

index int

Property Value

string

this[string]

public virtual string? this[string name] { get; }

Parameters

name string

Property Value

string

this[string, int]

public virtual string? this[string name, int index] { get; }

Parameters

name string
index int

Property Value

string

Parser

public virtual IParser Parser { get; }

Property Value

IParser

Methods

CanRead(MemberMap)

Indicates if values can be read.

public virtual bool CanRead(MemberMap memberMap)

Parameters

memberMap MemberMap

The member map.

Returns

bool

True if values can be read.

CanRead(MemberReferenceMap)

Indicates if values can be read.

public virtual bool CanRead(MemberReferenceMap memberReferenceMap)

Parameters

memberReferenceMap MemberReferenceMap

The member reference map.

Returns

bool

True if values can be read.

CheckHasBeenRead()

Checks if the file has been read.

protected virtual void CheckHasBeenRead()

Exceptions

ReaderException

Thrown when the file has not yet been read.

Dispose()

public void Dispose()

Dispose(bool)

Disposes the object.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Indicates if the object is being disposed.

EnumerateRecordsAsync<T>(T, CancellationToken)

public virtual IAsyncEnumerable<T> EnumerateRecordsAsync<T>(T record, CancellationToken cancellationToken = default)

Parameters

record T
cancellationToken CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

T

EnumerateRecords<T>(T)

public virtual IEnumerable<T> EnumerateRecords<T>(T record)

Parameters

record T

Returns

IEnumerable<T>

Type Parameters

T

GetField(int)

public virtual string? GetField(int index)

Parameters

index int

Returns

string

GetField(string)

public virtual string? GetField(string name)

Parameters

name string

Returns

string

GetField(string, int)

public virtual string? GetField(string name, int index)

Parameters

name string
index int

Returns

string

GetField(Type, int)

public virtual object? GetField(Type type, int index)

Parameters

type Type
index int

Returns

object

GetField(Type, int, ITypeConverter)

public virtual object? GetField(Type type, int index, ITypeConverter converter)

Parameters

type Type
index int
converter ITypeConverter

Returns

object

GetField(Type, string)

public virtual object? GetField(Type type, string name)

Parameters

type Type
name string

Returns

object

GetField(Type, string, ITypeConverter)

public virtual object? GetField(Type type, string name, ITypeConverter converter)

Parameters

type Type
name string
converter ITypeConverter

Returns

object

GetField(Type, string, int)

public virtual object? GetField(Type type, string name, int index)

Parameters

type Type
name string
index int

Returns

object

GetField(Type, string, int, ITypeConverter)

public virtual object? GetField(Type type, string name, int index, ITypeConverter converter)

Parameters

type Type
name string
index int
converter ITypeConverter

Returns

object

GetFieldIndex(IEnumerable<string>, int, bool, bool)

Gets the index of the field with the given name.

public virtual int GetFieldIndex(IEnumerable<string> names, int index = 0, bool isTryGet = false, bool isOptional = false)

Parameters

names IEnumerable<string>

The names of the field.

index int

The index of the field.

isTryGet bool

Indicates if a TryGet is executed.

isOptional bool

Indicates if the field is optional.

Returns

int

The index of the field.

GetFieldIndex(string, int, bool)

Gets the index of the field with the given name.

public virtual int GetFieldIndex(string name, int index = 0, bool isTryGet = false)

Parameters

name string

The name of the field.

index int

The index of the field.

isTryGet bool

Indicates if a TryGet is executed.

Returns

int

The index of the field.

GetField<T>(int)

public virtual T? GetField<T>(int index)

Parameters

index int

Returns

T

Type Parameters

T

GetField<T>(int, ITypeConverter)

public virtual T? GetField<T>(int index, ITypeConverter converter)

Parameters

index int
converter ITypeConverter

Returns

T

Type Parameters

T

GetField<T>(string)

public virtual T? GetField<T>(string name)

Parameters

name string

Returns

T

Type Parameters

T

GetField<T>(string, ITypeConverter)

public virtual T? GetField<T>(string name, ITypeConverter converter)

Parameters

name string
converter ITypeConverter

Returns

T

Type Parameters

T

GetField<T>(string, int)

public virtual T? GetField<T>(string name, int index)

Parameters

name string
index int

Returns

T

Type Parameters

T

GetField<T>(string, int, ITypeConverter)

public virtual T? GetField<T>(string name, int index, ITypeConverter converter)

Parameters

name string
index int
converter ITypeConverter

Returns

T

Type Parameters

T

GetField<T, TConverter>(int)

public virtual T? GetField<T, TConverter>(int index) where TConverter : ITypeConverter

Parameters

index int

Returns

T

Type Parameters

T
TConverter

GetField<T, TConverter>(string)

public virtual T? GetField<T, TConverter>(string name) where TConverter : ITypeConverter

Parameters

name string

Returns

T

Type Parameters

T
TConverter

GetField<T, TConverter>(string, int)

public virtual T? GetField<T, TConverter>(string name, int index) where TConverter : ITypeConverter

Parameters

name string
index int

Returns

T

Type Parameters

T
TConverter

GetRecord(Type)

public virtual object GetRecord(Type type)

Parameters

type Type

Returns

object

GetRecord<T>()

public virtual T GetRecord<T>()

Returns

T

Type Parameters

T

GetRecord<T>(T)

public virtual T GetRecord<T>(T anonymousTypeDefinition)

Parameters

anonymousTypeDefinition T

Returns

T

Type Parameters

T

GetRecords(Type)

public virtual IEnumerable<object> GetRecords(Type type)

Parameters

type Type

Returns

IEnumerable<object>

GetRecordsAsync(Type, CancellationToken)

public virtual IAsyncEnumerable<object> GetRecordsAsync(Type type, CancellationToken cancellationToken = default)

Parameters

type Type
cancellationToken CancellationToken

Returns

IAsyncEnumerable<object>

GetRecordsAsync<T>(CancellationToken)

public virtual IAsyncEnumerable<T> GetRecordsAsync<T>(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

T

GetRecordsAsync<T>(T, CancellationToken)

public virtual IAsyncEnumerable<T> GetRecordsAsync<T>(T anonymousTypeDefinition, CancellationToken cancellationToken = default)

Parameters

anonymousTypeDefinition T
cancellationToken CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

T

GetRecords<T>()

public virtual IEnumerable<T> GetRecords<T>()

Returns

IEnumerable<T>

Type Parameters

T

GetRecords<T>(T)

public virtual IEnumerable<T> GetRecords<T>(T anonymousTypeDefinition)

Parameters

anonymousTypeDefinition T

Returns

IEnumerable<T>

Type Parameters

T

ParseNamedIndexes()

Parses the named indexes.

protected virtual void ParseNamedIndexes()

Exceptions

ReaderException

Thrown when no header record was found.

Read()

public virtual bool Read()

Returns

bool

ReadAsync()

public virtual Task<bool> ReadAsync()

Returns

Task<bool>

ReadHeader()

public virtual bool ReadHeader()

Returns

bool

TryGetField(Type, int, ITypeConverter, out object?)

public virtual bool TryGetField(Type type, int index, ITypeConverter converter, out object? field)

Parameters

type Type
index int
converter ITypeConverter
field object

Returns

bool

TryGetField(Type, int, out object?)

public virtual bool TryGetField(Type type, int index, out object? field)

Parameters

type Type
index int
field object

Returns

bool

TryGetField(Type, string, ITypeConverter, out object?)

public virtual bool TryGetField(Type type, string name, ITypeConverter converter, out object? field)

Parameters

type Type
name string
converter ITypeConverter
field object

Returns

bool

TryGetField(Type, string, int, ITypeConverter, out object?)

public virtual bool TryGetField(Type type, string name, int index, ITypeConverter converter, out object? field)

Parameters

type Type
name string
index int
converter ITypeConverter
field object

Returns

bool

TryGetField(Type, string, int, out object?)

public virtual bool TryGetField(Type type, string name, int index, out object? field)

Parameters

type Type
name string
index int
field object

Returns

bool

TryGetField(Type, string, out object?)

public virtual bool TryGetField(Type type, string name, out object? field)

Parameters

type Type
name string
field object

Returns

bool

TryGetField<T>(int, ITypeConverter, out T?)

public virtual bool TryGetField<T>(int index, ITypeConverter converter, out T? field)

Parameters

index int
converter ITypeConverter
field T

Returns

bool

Type Parameters

T

TryGetField<T>(int, out T?)

public virtual bool TryGetField<T>(int index, out T? field)

Parameters

index int
field T

Returns

bool

Type Parameters

T

TryGetField<T>(string, ITypeConverter, out T?)

public virtual bool TryGetField<T>(string name, ITypeConverter converter, out T? field)

Parameters

name string
converter ITypeConverter
field T

Returns

bool

Type Parameters

T

TryGetField<T>(string, int, ITypeConverter, out T?)

public virtual bool TryGetField<T>(string name, int index, ITypeConverter converter, out T? field)

Parameters

name string
index int
converter ITypeConverter
field T

Returns

bool

Type Parameters

T

TryGetField<T>(string, int, out T?)

public virtual bool TryGetField<T>(string name, int index, out T? field)

Parameters

name string
index int
field T

Returns

bool

Type Parameters

T

TryGetField<T>(string, out T?)

public virtual bool TryGetField<T>(string name, out T? field)

Parameters

name string
field T

Returns

bool

Type Parameters

T

TryGetField<T, TConverter>(int, out T?)

public virtual bool TryGetField<T, TConverter>(int index, out T? field) where TConverter : ITypeConverter

Parameters

index int
field T

Returns

bool

Type Parameters

T
TConverter

TryGetField<T, TConverter>(string, int, out T?)

public virtual bool TryGetField<T, TConverter>(string name, int index, out T? field) where TConverter : ITypeConverter

Parameters

name string
index int
field T

Returns

bool

Type Parameters

T
TConverter

TryGetField<T, TConverter>(string, out T?)

public virtual bool TryGetField<T, TConverter>(string name, out T? field) where TConverter : ITypeConverter

Parameters

name string
field T

Returns

bool

Type Parameters

T
TConverter

ValidateHeader(ClassMap, List<InvalidHeader>)

Validates the header to be of the given type.

protected virtual void ValidateHeader(ClassMap map, List<InvalidHeader> invalidHeaders)

Parameters

map ClassMap

The mapped classes.

invalidHeaders List<InvalidHeader>

The invalid headers.

ValidateHeader(Type)

Validates the header to be of the given type.

public virtual void ValidateHeader(Type type)

Parameters

type Type

The expected type of the header.

ValidateHeader<T>()

Validates the header to be of the given type.

public virtual void ValidateHeader<T>()

Type Parameters

T

The expected type of the header