libanvl.uuid
1.13.3-beta
This is a prerelease version of libanvl.uuid.
dotnet add package libanvl.uuid --version 1.13.3-beta
NuGet\Install-Package libanvl.uuid -Version 1.13.3-beta
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="libanvl.uuid" Version="1.13.3-beta" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add libanvl.uuid --version 1.13.3-beta
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: libanvl.uuid, 1.13.3-beta"
#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.
// Install libanvl.uuid as a Cake Addin #addin nuget:?package=libanvl.uuid&version=1.13.3-beta&prerelease // Install libanvl.uuid as a Cake Tool #tool nuget:?package=libanvl.uuid&version=1.13.3-beta&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
libanvl.UUID
Immutable, endian-aware UUID library for .NET. Also generates Version V (5) and Version IV (4) UUIDs.
Requirements
Releases
- NuGet packages are available on NuGet.org
- Embedded debug symbols
- Source Link enabled
- NuGet packages from CI builds are available on the libanvl GitHub feed
Features
- Immutable
- Endian-aware
- Generates Version V (5) Namespaced UUIDs
- Generates Version IV (4) "Random" UUIDs
- Implicit conversion to and from System.Guid
- Conversion to System.Guid always follows platform endianess
- Implicit conversion from byte[] and ReadOnlyMemory<byte>
- Copy to new byte[]
- Property access to all five UUID records
- No signed ints in the API
- Enumerable as a sequence of bytes
- More constructors than you can shake a stick at
Examples
public Guid GetWindowsTerminalNamespacedProfileGuid(string profileName)
{
Guid terminalNamespace = new("2BDE4A90-D05F-401C-9492-E40884EAD1D8");
return UUID.V(terminalNamespace, profileName);
}
public Guid GetWindowsTerminalNamespacedFragmentProfileGuid(string fragmentName, string profileName)
{
Guid fragmentNamespace = new("f65ddb7e-706b-4499-8a50-40313caf510a");
// Guid can be implicitly converted to UUID with endianess that matches the platform
UUID fragmentUUID = UUID.V(fragmentNamespace, fragmentName);
return UUID.V(fragmentUUID, profileName);
}
public UUID GetBigEndianUUID(UUID value)
{
if (value.IsLittleEndian)
{
value = value.EndianSwap()
}
return value;
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on libanvl.uuid:
Package | Downloads |
---|---|
Tapanga.Core
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.13.3-beta | 315 | 11/13/2021 |
1.11.12-beta | 176 | 11/13/2021 |
1.9.7-beta | 137 | 11/12/2021 |
1.6.8-beta | 213 | 11/7/2021 |