初学者问题 请问对于==和!=的重载书上说需要重载Equals()和GetHashCode()函数,可是我没有重载好像也可以实现,请问这是怎么回事? 还有就是Equals()和GetHashCode()这两个函数是干什么用的? 初学者自知问题很菜,不好意思,请大虾们不吝指导 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在msdn上查一下吧using System;public class Sample { void Method() { Object Obj1 = new Object(); Object Obj2 = new Object(); Console.WriteLine(Obj1.Equals(Obj2)); //===> false Obj2 = Obj1; Console.WriteLine(Obj1.Equals(Obj2)); //===> true }}用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。[Visual Basic]Public Overridable Function GetHashCode() As Integer[C#]public virtual int GetHashCode();[C++]public: virtual int GetHashCode();[JScript]public function GetHashCode() : int;返回值当前 Object 的哈希代码。备注此方法可由派生类重写。值类必须重写此方法,以提供适合该类并且确保哈希表中有更好的分布的哈希函数。在哈希表中可以用作键的类也必须重写此方法,因为在哈希表中用作键的对象对于通过此方法生成类自己的哈希代码是必需的。但是,在构造 Hashtable 时,如果用作键的对象没有提供有用的 GetHashCode 实现,您可以提供另外一个基于 System.Collections.IHashCodeProvider 接口的哈希代码提供程序。 垃圾回收(内存管理)只是针对内存的是把? 这个readonly让人疑惑 C#高级视频或教程推荐 C#中如何判断网络的连通状态 请教高手:C#中怎样触发Calendar中改变月的事件 farpoint控件如何使用 vs2005.net 开发平台“安装和部署”时出现了错误,望高手指点一下~ 为什么我把winform加到其它项目,控件风格就不一样了 WinForm初级问题 关于控件在窗体上的位置 如何随窗体最大化也变换? 用xamarin开发android程序,可以用类库中的哪些东西? 应用程序进程关闭的问题? 一个多线程的问题(50分)
using System;public class Sample {
void Method() {
Object Obj1 = new Object();
Object Obj2 = new Object();
Console.WriteLine(Obj1.Equals(Obj2)); //===> false
Obj2 = Obj1;
Console.WriteLine(Obj1.Equals(Obj2)); //===> true
}
}
用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。[Visual Basic]
Public Overridable Function GetHashCode() As Integer[C#]
public virtual int GetHashCode();[C++]
public: virtual int GetHashCode();[JScript]
public function GetHashCode() : int;返回值
当前 Object 的哈希代码。备注
此方法可由派生类重写。值类必须重写此方法,以提供适合该类并且确保哈希表中有更好的分布的哈希函数。在哈希表中可以用作键的类也必须重写此方法,因为在哈希表中用作键的对象对于通过此方法生成类自己的哈希代码是必需的。但是,在构造 Hashtable 时,如果用作键的对象没有提供有用的 GetHashCode 实现,您可以提供另外一个基于 System.Collections.IHashCodeProvider 接口的哈希代码提供程序。