帮忙评审一下下面这个写法 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 关注
- 864 浏览
添加回答
举报
0/150
提交
取消