Provides useful functionality both for .NET and .NET Framework applications.
Tōki (登器) is the Japanese word for (Ninja) "climbing gear" or "climbing equipment". This library is designed to help developers "climb" the challenges of cross framework .NET development by providing tools and utilities that enhance performance and efficiency.
Some of the design goals include:
- Avoiding unnecessary allocations
- Avoiding code that prevents AOT compilation on .NET
- Leveraging the latest C# (14+) features to improve usability and performance
- Non allocating interpolated string support on .NET Framework (
$"Age: {age}"
) - Formatting directly into
Stream
andTextWriter
without unnecessary allocations - Robust and performant
StringSegment
struct for working with substrings without allocations SpanReader
andSpanWriter
for efficient reading and writing of data in spansBufferScope<T>
for easy management of temporaryArrayPool
and stack based buffersValue
struct for creating strongly typed arbitrary collections of values without boxing most primitives- Much more!
Using the .NET CLI:
dotnet add package KlutzyNinja.Touki
Or with the NuGet Package Manager:
PM> Install-Package KlutzyNinja.Touki
- .NET 10.0 or later OR .NET Framework 4.7.2 or later
- C# 14.0 or later for the best experience
See CONTRIBUTING.md for more information on how to contribute to this project.