This project is read-only.

There is a full help file.  Click on the Downloads tab and download the current distribution.

Getting Started


  • By default for performance reasons, Compare .NET Objects only detects the first difference.  To capture all differences set Config.MaxDifferences to the maximum differences desired.
  • After the comparison, the differences are in the Differences list or in the DifferencesString properties.
  • By default, a deep comparison is performed.  To perform a shallow comparison, set CompareChildren = false
  • By default, private properties and fields are not compared.  Set Config.ComparePrivateProperties and Config.ComparePrivateFields to true to override this behavior.
  • By default an exception is thrown when class types are different.  To ignore object types, set Config.IgnoreObjectTypes to true


C# Example

//This is the comparison class
CompareLogic compareLogic = new CompareLogic();

//Create a couple objects to compare
Person person1 = new Person();
person1.DateCreated = DateTime.Now;
person1.Name = "Greg";

Person person2 = new Person();
person2.Name = "John";
person2.DateCreated = person1.DateCreated;

ComparisonResult result = compareLogic.Compare(person1, person2);

//These will be different, write out the differences
if (!result.AreEqual)


VB.NET Example

'This is the comparison class
Dim compareLogic As New CompareLogic()

'Create a couple objects to compare
Dim person1 As New Person()
person1.DateCreated = Date.Now
person1.Name = "Greg"

Dim person2 As New Person()
person2.Name = "John"
person2.DateCreated = person1.DateCreated

Dim result As ComparisonResult = compareLogic.Compare(person1, person2)

'These will be different, write out the differences
If not result.AreEqual Then
End If

Last edited Oct 7, 2015 at 2:08 PM by gfinzer, version 9


No comments yet.