Unit testing a collection with equivalent object

I'm in search of a simple way to test that a collection contains logically equivalent object (ignoring instance) in c#.

public class BarObject
{
    public string name { get; set; }
    public string info { get; set; }
}

public class Foo
{
    public Foo() { }
    public IEnumerable<BarObject> Bars { get; set; } = 
        new List<BarObject>() 
        { 
            new BarObject() { name = "johndoe", info = "wierdo" } 
        };
}

[TestClass]
public class FooTests
{
    [TestMethod]
    public void TestDefaultInList()
    {
        Foo foo = new Foo();
        //Using NUnit
        CollectionAssert.Contains(foo.Bars.ToList(), 
            new BarObject() { name = "johndoe", info = "wierdo" }
        );
    }
}

The issue that I believe that I am having is that it is checking the instance of the object instead of the values within. How do I test that there is an object with specific values in an array simply without writing my own comparers?

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum