我有一個愚蠢的問題在這裏。 我定義一個類有許多數據成員,就像這樣:如何在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
}
現在,我在寫單元測試代碼,並要比較A級 的兩個實例,但我發現這不起作用:
Assert.AreEquals(a1, a2);
我必須重寫Equals
方法來做到這一點? C#默認情況下不能提供幫助? 或者我可以序列化這兩個人並比較文件流?
謝謝。
這取決於你想要什麼樣的比較。默認的Equals只比較兩個實例,而不是它的內容。覆蓋並比較每個項目。 – Zenwalker 2012-03-28 06:25:39
@zenwalker你最好張貼你的評論作爲答案 – Arseny 2012-03-28 06:27:34
@Arseny 它不是真正的答案OP是找我猜。另外,也不喜歡獲得downvoted:D – Zenwalker 2012-03-28 06:28:48