У меня здесь глупый вопрос. я определить класс с членами много данных, как это:Как сравнить содержимое двух экземпляров в C#?
public class A
{
public string Name { get; set; }
public double Score { get; set; }
//...many members
public C Direction { get; set; }
public List<B> NameValue1 { get; set; }
public List<string> NameValue2 { get; set; }
//...many members
}
Теперь я пишу модульное тестирование коду и хочу сравнить два экземпляра класса А. Но я нашел, что это не работает:
Assert.AreEquals(a1, a2);
Я должен переопределить метод Equals
для этого? C# не может помочь с этим по умолчанию? Или я могу сериализовать этих двух парней и сравнить поток?
спасибо.
Это зависит от того, какое сравнение вы хотите. По умолчанию Equals сравнивают только два экземпляра, а не его содержимое. Переопределите и сравните каждый элемент. – Zenwalker
@zenwalker вам лучше напишите свой комментарий как ответ – Arseny
@Arseny На самом деле это не тот ответ, который ищет OP, я думаю. Плюс тоже не нравится, если вы также забираете вниз: D – Zenwalker