DotPrimitives 4.2.0
See the version list below for details.
dotnet add package DotPrimitives --version 4.2.0
NuGet\Install-Package DotPrimitives -Version 4.2.0
<PackageReference Include="DotPrimitives" Version="4.2.0" />
<PackageVersion Include="DotPrimitives" Version="4.2.0" />
<PackageReference Include="DotPrimitives" />
paket add DotPrimitives --version 4.2.0
#r "nuget: DotPrimitives, 4.2.0"
#:package DotPrimitives@4.2.0
#addin nuget:?package=DotPrimitives&version=4.2.0
#tool nuget:?package=DotPrimitives&version=4.2.0
DotPrimitives
A C# primitives library that adds new types and features for working with strings, IO, and more.
Primitives Included
DotPrimitives
DateSpan- Represents a span of time in days, months, and years.LineEndingDetector- A utility for detecting line endings in strings and files.PathEnvironmentVariable- A utility for interacting with the system's PATH and PATHEXT environment variables.WindowsFilePermissionManager- A utility for managing file and directory permissions on Windows.
Getting Started
Compatibility
DotPrimitives supports a wide range of .NET versions:
- .NET Standard 2.0
- .NET 8
- .NET 9
- .NET 10
Installation
You can install the library via NuGet or using the .NET CLI.
To install the core library:
dotnet add package DotPrimitives
To install the collections library:
dotnet add package DotPrimitives.Collections
Usage
DateSpan
DateSpan allows you to represent and manipulate time spans in terms of years, months, and days.
using DotPrimitives.Dates;
// Create a DateSpan of 1 year, 2 months, and 5 days
DateSpan span = new DateSpan(5, 2, 1);
// Calculate the difference between two dates
DateSpan diff = DateSpan.Difference(DateTime.Now, new DateTime(2020, 1, 1));
LineEndingDetector
Detect the line ending format used in a string.
using DotPrimitives.Text;
string text = "Line 1\r\nLine 2";
LineEndingFormat format = text.GetLineEndingFormat();
if (format == LineEndingFormat.CR_LF)
{
// ...
}
License
DotPrimitives is licensed under the MIT licence.
See LICENSE.txt for more information.
Acknowledgements
Thanks to the following projects for their great work:
- Polyfill for simplifying .NET Standard 2.0 support
- Microsoft's Microsoft.Bcl.HashCode for providing a backport of the HashCode class and static methods to .NET Standard 2.0
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 is compatible. 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.Hashcode (>= 6.0.0)
- System.IO.FileSystem.AccessControl (>= 5.0.0)
- System.Memory (>= 4.6.3)
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on DotPrimitives:
| Package | Downloads |
|---|---|
|
CliInvoke
CliInvoke is a .NET Library for interacting with Command Line Interfaces, CliInvoke is a library for interacting with Command Line Interfaces and wrapping around executables. |
|
|
DotExtensions
A collection of useful extension members and extension methods for .NET . |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.3.0-preview.2 | 33 | 1/19/2026 |
| 4.3.0-preview.1 | 36 | 1/18/2026 |
| 4.2.0 | 91 | 1/16/2026 |
| 4.1.0 | 879 | 12/22/2025 |
* Updated internal Polyfill version from 9.3.0 to 9.7.3
* Code formatting improvements