struct hostent* FAR gethostbyname(
__in const char *name
)
那里是warning(警告),不是error(错误)。但你的程序确实有错。这一句Console.WriteLine(objRect1 >objRect2 )是错的,因为你没有定义Rectangle之间的>。
如果你的用意是比较相等那么写成Console.WriteLine(objRect1 == objRect2 )就可以了。
如果重载Object.Equals(object o)和 Object.GetHashCode()的话,下面这样就可以了。
public override bool Equals(object o)
{
if(!(o is Rectangle)) return false
return (o as Rectangle)==this
}
public override int GetHashCode()
{ return base.GetHashCode()}
另外推荐用Equals实现==而不是用==实现Equals。
所以这样更好:
public override bool Equals(object o)
{
if(!(o is Rectangle)) return false
Rectangle a = (o as Rectangle)
return ((a.Height==this.Height)&&(a.Width==this.Width))
}
public static bool operator==(Rectangle a,Rectangle b)
{ return a.Equals(b)}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)