Skip to content

Getting Started

GregFinzer edited this page Dec 21, 2017 · 5 revisions

Important

  • 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

Installation

NuGet

http://www.nuget.org/packages/CompareNETObjects

Install with NuGet Package Manager Console

Install-Package CompareNETObjects

Install with .NET CLI

dotnet add package CompareNETObjects

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)
        Console.WriteLine(result.DifferencesString);

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
        Console.WriteLine(result.DifferencesString)
    End If