Bodu.Text.Delimited 0.5.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Bodu.Text.Delimited --version 0.5.0
                    
NuGet\Install-Package Bodu.Text.Delimited -Version 0.5.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Bodu.Text.Delimited" Version="0.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bodu.Text.Delimited" Version="0.5.0" />
                    
Directory.Packages.props
<PackageReference Include="Bodu.Text.Delimited" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Bodu.Text.Delimited --version 0.5.0
                    
#r "nuget: Bodu.Text.Delimited, 0.5.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Bodu.Text.Delimited@0.5.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Bodu.Text.Delimited&version=0.5.0
                    
Install as a Cake Addin
#tool nuget:?package=Bodu.Text.Delimited&version=0.5.0
                    
Install as a Cake Tool

Bodu.Text.Delimited

API stability — Preview. The public API surface is largely settled but is still being finalized ahead of the 1.0 release and may change; breaking changes can land in a minor version until then.

An RFC 4180 delimited-text (CSV / TSV) library for .NET 8, shaped after System.Text.Json: a typed record serializer over a low-level forward-only token reader and writer, with both a mutable and a read-only document object model, plus the dialect policies real-world files need (ragged rows, malformed records, duplicate headers).

Installation

dotnet add package Bodu.Text.Delimited

Targets net8.0. Also available through the Bodu.Text.Formats umbrella package.

API shape

The public surface matches the sibling Bodu.Text.Bencode / Bodu.Text.Toml libraries, so the patterns transfer directly:

Type(s) Namespace Role
DelimitedSerializer / DelimitedSerializerOptions / DelimitedSerializerDefaults Bodu.Text.Delimited Static serializer entry point (records ↔ rows), configuration, and presets.
DelimitedFieldCountBehavior / DelimitedMalformedRecordBehavior / DelimitedDuplicateHeaderBehavior Bodu.Text.Delimited The dialect policies for input that breaks the RFC 4180 contract.
DelimitedFormatException / DelimitedSerializationException Bodu.Text.Delimited Failures split by cause: malformed input vs. values that cannot be mapped.
Utf8DelimitedReader (+ DelimitedReaderOptions) Bodu.Text.Delimited.Reader Forward-only ref struct token reader with header lookahead.
Utf8DelimitedWriter (+ DelimitedWriterOptions) Bodu.Text.Delimited.Writer Forward-only ref struct token writer (auto-quoting, dialect retargeting).
DelimitedDocument / DelimitedElement / DelimitedProperty Bodu.Text.Delimited.Document Read-only document object model (records as objects keyed by header, or positional arrays).
DelimitedNode / DelimitedArray / DelimitedObject / DelimitedValue Bodu.Text.Delimited.Nodes Mutable document object model: parse, edit, write back.
using Bodu.Text.Delimited;
using Bodu.Text.Serialization;

var options = new DelimitedSerializerOptions { PropertyNamingPolicy = NamingPolicy.SnakeCaseLower };
List<Trade> trades = DelimitedSerializer.Deserialize<Trade>(csvText, options);
string back = DelimitedSerializer.Serialize(trades, options);

// Stream typed records without materializing the file.
await foreach (Trade trade in DelimitedSerializer.DeserializeAsyncEnumerableAsync<Trade>(stream, options))
    Process(trade);

Values are carried as text on the wire; scalars convert with InvariantCulture. The serializer honours the shared Bodu.Text.Serialization attribute family, naming policies, and serialization callbacks. The Regression test tier carries a csv-spectrum-derived RFC 4180 conformance corpus.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Bodu.Text.Delimited:

Package Downloads
Bodu.Text.Formats

Umbrella package for the Bodu line-oriented text formats on .NET 8 — delimited text (RFC 4180 CSV/TSV), DotEnv, and INI. References Bodu.Text.Delimited, Bodu.Text.DotEnv, and Bodu.Text.Ini, each a System.Text.Json-shaped library with a ref-struct Utf8 reader/writer pair, a serializer, a mutable node DOM, and a read-only document DOM.

Bodu.Financial.ExchangeRates.Imf

IMF (International Monetary Fund) exchange-rate provider for Bodu.Financial. Downloads and parses the IMF Representative Exchange Rates monthly tab-separated report and serves the results as Bodu.Financial.ExchangeRates.ExchangeRate values through IDatedRateProvider and IRateProvider, with an async range API. Rates are USD-anchored daily representative rates (all reported currencies against the US dollar) with per-month caching; direction is auto-normalized. Includes the dependency-injection registration extensions (AddImfExchangeRates) for IServiceCollection and IFinancialServiceBuilder.

Bodu.Financial.ExchangeRates.Boe

Bank of England (BoE) daily spot exchange-rate provider for Bodu.Financial. Queries the BoE's Interactive Statistical Database (IADB) CSV endpoint and serves the results as Bodu.Financial.ExchangeRates.ExchangeRate values through IDatedRateProvider and IRateProvider, with an async range API and in-memory plus on-disk caching. Includes dependency-injection extensions that register the provider on a configured, resilient HttpClient and bind its options.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 63 9/24/2026
0.7.0 115 9/24/2026
0.6.0 66 9/24/2026
0.5.0 68 9/23/2026