![]() |
VOOZH | about |
dotnet add package ComparableLibrary --version 1.1.1
NuGet\Install-Package ComparableLibrary -Version 1.1.1
<PackageReference Include="ComparableLibrary" Version="1.1.1" />
<PackageVersion Include="ComparableLibrary" Version="1.1.1" />Directory.Packages.props
<PackageReference Include="ComparableLibrary" />Project file
paket add ComparableLibrary --version 1.1.1
#r "nuget: ComparableLibrary, 1.1.1"
#:package ComparableLibrary@1.1.1
#addin nuget:?package=ComparableLibrary&version=1.1.1Install as a Cake Addin
#tool nuget:?package=ComparableLibrary&version=1.1.1Install as a Cake Tool
This solution was created to demonstrate how to compare two objects by value. For this, the IGeneralComparable interface was created, which provides a way to generate a hash from significant fields, allowing objects to be compared using this hash.
The project was implemented in C# using the System.Data.HashFunction.MurmurHash NuGet package for hashing with the MurmurHash3 algorithm.
dotnet add package ComparableLibrary --version 1.1.1
The IGeneralComparable interface allows you to compare multiple objects by generating a hash from significant fields. To generate a hash, your classes need to implement IGeneralComparable and mark the properties that need to be compared using the ComparablePropertyAttribute. ComparablePropertyAttribute properties:
A base class, GeneralComparable, also exists and has a property for storing the hash: HashSum.
To use it, implement the IGeneralComparable interface in your class and apply the attribute to properties that are important for calculating the hash.
See more on GitHub
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.