幫忙評審一下下面這個寫法 class Product { public string Name; public DateTime ExpiryDate; public decimal Price; public string[] Sizes; public override bool Equals(object obj) { Product p2 = (Product)obj; if (Name == p2.Name && ExpiryDate == p2.ExpiryDate && Price == p2.Price) { for (int i = 0; i < Sizes.Length; i++) { if (!Sizes[i].Equals(p2.Sizes[i])) return false; } return true; } else return true; } }
2 回答

慕婉清6462132
TA貢獻1804條經驗 獲得超2個贊
先判斷obj is Product
,以避免obj
不是Product
的情況。
另外,可以把兩個Product
比較的邏輯放在雙等運算符重載里面,Equals
中調用。
具體邏輯沒有什么統一的標準,比如你可以比較所有字段,也可以在有id
的情況只比較id
,因業務而異。
- 2 回答
- 0 關注
- 888 瀏覽
添加回答
舉報
0/150
提交
取消