c# .net Equals()函数重载, 像下面这样写好吗?

帮忙评审一下下面这个写法
classProduct
{
publicstringName;
publicDateTimeExpiryDate;
publicdecimalPrice;
publicstring[]Sizes;
publicoverrideboolEquals(objectobj)
{
Productp2=(Product)obj;
if(Name==p2.Name&&ExpiryDate==p2.ExpiryDate&&Price==p2.Price)
{
for(inti=0;i{
if(!Sizes[i].Equals(p2.Sizes[i]))
returnfalse;
}
returntrue;
}
else
returntrue;
}
}
LEATH
浏览 359回答 2
2回答

白衣染霜花

先判断objisProduct,以避免obj不是Product的情况。另外,可以把两个Product比较的逻辑放在双等运算符重载里面,Equals中调用。具体逻辑没有什么统一的标准,比如你可以比较所有字段,也可以在有id的情况只比较id,因业务而异。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript