Class library containing useful general-programming classes and extension methods for existing types.
$ dotnet add package Universal.CommonSupport utilities and extensions meant to extend the default functionality from the base class library.
Utility for as-is bit manipulations.
BitSequence bs1 = new BitSequence("10001010"); // Binary representation in string.
BitSequence bs2 = new BitSequence(new bool[] { true, false, true }); // As booleans.
BitSequence bs3 = bs1 & "11110000"; // Bitwise and, implicit conversion from binary representation string.
Utility to perform bit-level operations on System.IO.Stream.
using (BitStream bitStream = new BitStream(stream))
{
uint value = bitStream.ReadUInt32(4); // Reads 4 bits from the stream and interprets it as an unsigned integer, padding if necessary.
}
Derived from System.UriBuilder, this class provides a fluent API to configure segments and queries.
UriBuilder uriBuilder = new UriBuilder("http://www.myhost.com");
uriBuilder
.AddSegments("api", "Product", 1)
.AddQuery("key", "value");
// "https://www.myhost.com/api/Product/1?key=value"
Static class that encodes arrays to matrices and vice-versa.
int[,] matrix = new int[,] { { 0, 1 }, { 2, 3 } };
int[] array = ZigZag.ToArray(matrix); // [0, 1, 2, 3]