黄冉 发表于 2012-11-20 11:08
对于2,3,4,是不是可以给出具体代码,简单易懂就行
你看看,这样可行否?- class Person//类
- {
- private string name;
- public string Name
- {
- get { return name; }
- set { name = value; }
- }
- public Person(string name)
- {
- this.name = name;
- }
- }
- class program
- {
- static void Main(string[] args)
- {
- string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });//hello字符
- string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });//hello字符
- Console.WriteLine(a == b);//判断是否正确
- Console.WriteLine(a.Equals(b));//都是比较存储信息的内容
- object g = a; //g和a中的栈中的地址可以去了解了解
- object h = b;//托管堆中的存储信息的内容也可以去了解了解
- Console.WriteLine(g == h);//==比较的是引用类型在栈中的地址
- Console.WriteLine(g.Equals(h));//equals方法(是方法!)则比较的是引用类型在托管堆中的存储信息的内容。
- Person p1 = new Person("jia");//p1和p2肯定就不一样了
- Person p2 = new Person("jia");
- Console.WriteLine(p1 == p2);//输出False
- Console.WriteLine(p1.Equals(p2));//输出False
- Person p3 = new Person("jia");
- Person p4 = p3; //付的值一样的
- Console.WriteLine(p3 == p4);//输出True
- Console.WriteLine(p3.Equals(p4));//输出True
- Console.ReadLine();
- }
- }
复制代码 |