cs-varint
1.0.0
dotnet add package cs-varint --version 1.0.0
NuGet\Install-Package cs-varint -Version 1.0.0
<PackageReference Include="cs-varint" Version="1.0.0" />
paket add cs-varint --version 1.0.0
#r "nuget: cs-varint, 1.0.0"
// Install cs-varint as a Cake Addin
#addin nuget:?package=cs-varint&version=1.0.0
// Install cs-varint as a Cake Tool
#tool nuget:?package=cs-varint&version=1.0.0
cs-varint
This is a C# .NET Core port of the repository https://github.com/multiformats/go-varint
Varint helpers that enforce minimal encoding.
The purpose of this port is to support future efforts to port go-libp2p to the C# language.
Install
This is a C# class library. You may include it in any project by referencing using the dotnet CLI too, such as:
dotnet add reference ./VarInt/VarInt.csproj
Or simply by using the NuGet package manager, like:
dotnet add package cs-varint
Usage
To convert to or from variable binary encoded UInt64 values, use the VarInt static class methods.
var into = VarInt.ToUVarInt(i);
var back = VarInt.FromUVarInt(into);
This is a library that is to be used by a project which includes it.
Method signatures are generally preserved as-is from the source library go-varint, with these notable deviations:
- Uvarint is renamed UVarInt to match .NET standard naming conventions, such as seeen in BigInt
- Errors are not returned as objects in a tuple; they are thrown as C# exceptions, so callers will need to use try/catch (common in .NET) instead of return value checking (common in Go)
Contributing
PRs accepted.
Small note: If editing the Readme, please conform to the standard-readme specification.
License
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 235 | 8/13/2021 |
Initial version