Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("**** Fun with System.Object ****");
            Person p1 = new Person();

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("GetHashCode: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());
            Person p2 = p1;
            object o  = p2;

            if (o.Equals(p1) && o.Equals(p2))
            {
                Console.WriteLine("Same instance!");
            }
            Console.WriteLine();

            Person p3 = new Person("Homer", "Simpson", 54);
            Person p4 = new Person("Homer", "Simpson", 54);

            Console.WriteLine("p3.ToString(): {0}", p3.ToString());
            Console.WriteLine("p4.ToString(): {0}", p4.ToString());
            Console.WriteLine("p3 = p4: {0}", p3.Equals(p4));
            Console.WriteLine("Same hashCodes: {0}", p3.GetHashCode() == p4.GetHashCode());
            Console.WriteLine();

            p4.Age = 23;
            Console.WriteLine("p3.ToString(): {0}", p3.ToString());
            Console.WriteLine("p4.ToString(): {0}", p4.ToString());
            Console.WriteLine("p3 = p4: {0}", p3.Equals(p4));
            Console.WriteLine("Same hashCodes: {0}", p3.GetHashCode() == p4.GetHashCode());
            Console.WriteLine();
            StaticMembersOfObject();
            Console.ReadLine();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Person p1 = new Person("Jimmy");

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("Hash Code: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());

            Person p2 = p1;
            object o  = p2;

            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine(p2.GetHashCode() + " = " + p1.GetHashCode());
                Console.WriteLine("Same instance!\n");
            }

            // Clone() вызывает метод protected MemberwiseClone()
            // но если Person содержит свойства или поля ссылочного типа, то метод MemberwiseClone()
            // копировал бы ссылки на эти объекты (т.е. создавал поверхностную копию)
            Person p3 = p1.Clone() as Person;

            if (p3 != null)
            {
                Console.WriteLine(p1.Name + " = " + p3.Name);
            }

            Console.ReadLine();
        }
Exemplo n.º 3
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Objrect Over rides!");
            Person p1 = new Person("Homer", "Simposon", 50, "129023-80");
            Person p2 = new Person("Homer", "Simposon", 50, "129023-80");

            // GET Stringified version of objects
            Console.WriteLine($"ToString : {p1.ToString()}");
            Console.WriteLine($"ToString : {p2.ToString()}");
            Console.WriteLine($"Hash Code {p1.GetHashCode()}");
            Console.WriteLine($"Type: {p1.GetType()}");

            // Test overridden Equals

            Console.WriteLine($"p1= p2? : {p1.Equals(p2)}");


            // Test hash codes
            // still using the hash of ssn
            Console.WriteLine($"Same hash codes {p1.GetHashCode()==p2.GetHashCode()}");


            // change age of p2 and test again
            p2.Age = 45;
            Console.WriteLine("ToString {0}:", p1.ToString());
            Console.WriteLine($"ToString : {p2.ToString()}");
            Console.WriteLine($"p1= p2? : {p1.Equals(p2)}");
            Console.WriteLine($"Same hash codes {p1.GetHashCode() == p2.GetHashCode()}");
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");

            // NOTE:  We want these to be identical to test
            // the Equals() and GetHashCode() methods.
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            // Get stringified version of objects.
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            // Test Overridden Equals()
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

            // Test hash codes.
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            // Change age of p2 and test again.
            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());

            Console.WriteLine();
            StaticMembersOfObject();

            Console.ReadLine();
        }
Exemplo n.º 5
0
        private static void TestModifiedClass()
        {
            // NOTE: we want these to be identical to test
            // the Equals() and GetHashCode() methods.
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            // Get stringified version of objects.
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine();
            // Test overriden Equals().
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            // test hashcodes
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();
            // Change age of p2 and repeat the tests
            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine();
            // Test overriden Equals().
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            // test hashcodes
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
        }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            Console.WriteLine("*** Fun with System.Object ***");
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            Console.WriteLine("p1.ToString: {0}", p1.ToString());
            Console.WriteLine("p2.ToString: {0}", p2.ToString());
            Console.WriteLine("P1 = P2?: {0}", p1.Equals(p2));

            Console.WriteLine("Same Hash Codes ?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();
            p2.Age = 42;

            Console.WriteLine("p1.ToString: {0}", p1.ToString());
            Console.WriteLine("p2.ToString: {0}", p2.ToString());
            Console.WriteLine("P1 = P2?: {0}", p1.Equals(p2));

            Console.WriteLine("Same Hash Codes ?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            MembersOfObjects();

            //Console.ReadLine();
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");

            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            Console.WriteLine("p1 = p2 ?: {0}", p1.Equals(p2));

            Console.WriteLine("Same hash codes?: {0}", 
                p1.GetHashCode() == p2.GetHashCode());

            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 p2 ?: {0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes?: {0}",
                p1.GetHashCode() == p2.GetHashCode());

            StaticMethodsOfObject();

            Console.ReadLine();
        }
Exemplo n.º 8
0
        static void Main(string[] args)
        {
            Console.WriteLine("*** Fun With System.Object\n ***");
            // NOTE: Those gotta be indentical to test the
            // Equals() and GetHash() methods
            Person p1 = new Person("Jason", "Meow", 18);
            Person p2 = new Person("Jason", "Meow", 18);

            // Get stringified versions of objects
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            // Test the overridden Equals()
            Console.WriteLine("p1 = p2? : {0}", p1.Equals(p2));

            // Test hash codes
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());

            // Change the age of p2 and test again
            p2.Age = 19;

            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 = p2? : {0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());


            Console.ReadLine();
        }
Exemplo n.º 9
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");
            Person p4 = new Person();

            // Use inherited members of System.Object.
            Console.WriteLine("ToString: {0}", p4.ToString());
            Console.WriteLine("Hash Code: {0}", p4.GetHashCode());
            Console.WriteLine("type: {0}", p4.GetType());

            // Make some other references to p1.
            Person p3 = p4;
            object o = p3;

            // Are the references pointing to the same object in memory?
            if (o.Equals(p4) && p3.Equals(o))
            {
                Console.WriteLine("Same instance!");
            }
            Console.WriteLine();

            // NOTE: We want these to be identical to test
            // the Equals() and GetHashCode() methods.
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            // Get stringified version of objects.
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            // Test overridden Equals().
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

            // Test overridden Equals()
            Console.WriteLine("p1 = p2: {0}", p1.Equals(p2));

            // Test hash codes.
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            // Change age of p2 and test again.
            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes? {0}", p1.GetHashCode() == p2.GetHashCode());

            Console.WriteLine();
            StaticMembersOfObject();

            Console.ReadKey();
        }
Exemplo n.º 10
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");
            //Person p1 = new Person();

            ////inherited members of System.Object
            //Console.WriteLine("ToString: {0}", p1.ToString());
            //Console.WriteLine("Hash code: {0}", p1.GetHashCode());
            //Console.WriteLine("Type: {0}", p1.GetType());

            //// Make some references to p1.
            //Person p2 = p1;
            //object o = p2;

            //// Are the references pointing to the same object in memory?
            //if (o.Equals(p1) && p2.Equals(o))
            //{
            //    Console.WriteLine("Same instnce!");
            //}
            //Console.ReadLine();

            // NOTE: We want these to be identical to test
            // the Equals() and GetHashCode() methods.
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            // Get stringified version of objects.
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            // Test overridden Equals().
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

            // Test hash codes.
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            // Change age of p2 and test again.
            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.ReadLine();

            StaticMembersOfObject();
        }
Exemplo n.º 11
0
        public static void Main(string[] args)
        {
            var person = new Person();

            Console.WriteLine("ToString: {0}", person.ToString());
            Console.WriteLine("Hash Code: {0}", person.GetHashCode());
            Console.WriteLine("Type: {0}", person.GetType());

            Person person2 = person;
            object obj     = person;

            //Are the references pointing to the same object in memory?
            if (obj.Equals(person) && person2.Equals(obj))
            {
                Console.WriteLine("Same Instance");

                var pers1 = new Person("Homer", "Simpson", 50);
                var pers2 = new Person("Homer", "Simpson", 50);

                Console.WriteLine("pers1.ToString() = {0}", pers1.ToString());
                Console.WriteLine("pers2.ToString() = {0}", pers2.ToString());
                Console.WriteLine("pers1 = pers2: {0}", pers1.Equals(pers2));
                Console.WriteLine("Same hash codes? : {0}", pers1.GetHashCode() == pers2.GetHashCode());
                Console.ReadLine();
            }
            Console.ReadLine();
        }
Exemplo n.º 12
0
        static void Main(string[] args)
        {
            Console.WriteLine("****** Fun with System.Object *****\n");
            Person p1 = new Person();

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("Hash code: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());

            Person p2 = p1;
            object o  = p2;

            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same instance!");
            }

            Person p3 = new Person("Sally", "Jones", 4);
            Person p4 = new Person("Sally", "Jones", 4);

            Console.WriteLine("P3 and P4 have same state: {0}", object.Equals(p3, p4));
            Console.WriteLine("P3 nad P4 are pointing to same object: {0}", object.ReferenceEquals(p3, p4));



            Console.ReadLine();
        }
Exemplo n.º 13
0
		public static void Main (string[] args)
		{
			var person = new Person ();

			Console.WriteLine ("ToString: {0}", person.ToString ());
			Console.WriteLine ("Hash Code: {0}", person.GetHashCode ());
			Console.WriteLine ("Type: {0}", person.GetType ());

			Person person2 = person;
			object obj = person;

			//Are the references pointing to the same object in memory?
			if (obj.Equals (person) && person2.Equals (obj)) {
				Console.WriteLine("Same Instance");
			
				var pers1 = new Person("Homer", "Simpson", 50);
				var pers2 = new Person("Homer", "Simpson", 50);

				Console.WriteLine("pers1.ToString() = {0}",pers1.ToString());
				Console.WriteLine("pers2.ToString() = {0}",pers2.ToString());
				Console.WriteLine("pers1 = pers2: {0}", pers1.Equals(pers2));
				Console.WriteLine("Same hash codes? : {0}", pers1.GetHashCode() == pers2.GetHashCode());
				Console.ReadLine();
			}
			Console.ReadLine();
		}
Exemplo n.º 14
0
        static void Main(string[] args)
        {
            Console.WriteLine("****** Fun with System.Object ******\n");
            Person p1 = new Person();

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("Hash code: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());
            // Make some other references to p1.
            Person p2 = p1;
            object o  = p2;

            // Are the references poiting to the same object in memory?
            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same instance!");
            }
            Console.WriteLine();
            TestModifiedClass();
            // Static members of system.object
            Person p3 = new Person("Sally", "Jones", 4);
            Person p4 = new Person("Sally", "Jones", 4);

            Console.WriteLine("\np3 and p4 have the same state: {0}", p3.Equals(p4));
            Console.WriteLine("p3 and p4 are pointing to the same object: {0}", object.ReferenceEquals(p3, p4));
            Console.ReadLine();
        }
Exemplo n.º 15
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");

            ////use inherited members of System.Object...
            //Console.WriteLine("ToString: {0}", p1.ToString());
            //Console.WriteLine("Hash Code: {0}", p1.GetHashCode());
            //Console.WriteLine("Type: {0}", p1.GetType());

            ////make some other refs to p1
            //Person p2 = p1;
            //object o = p2;
            ////are these refs pointing to the same obj in memory?
            //if (o.Equals(p1) && p2.Equals(o))
            //{
            //    Console.WriteLine("Same instance!");
            //}

            //make 2 identical Persons to test Equals() and GetHashCode()
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            //get stringified versions of those objs
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            //test overriden Equals()
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

            //test hash codes
            Console.WriteLine("same hash codes?: {0}", p1.GetHashCode()==
                p2.GetHashCode());
            Console.WriteLine();

            //change age of p2 and retest
            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            Console.WriteLine("same hash codes?: {0}", p1.GetHashCode() ==
            p2.GetHashCode());
            Console.WriteLine();

            StaticMembersOfObject();

            Console.ReadLine();
        }
Exemplo n.º 16
0
        static void Main(string[] args)
        {
            Person p1 = new Person();

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("Hash Code: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());

            Person p2 = p1;
            object o = p2;

            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same instance");
            }

            Person pNull = null;
            Console.WriteLine();
            Console.WriteLine("is pNull a person {0}", pNull is Person);
            Console.WriteLine("is p1 equal to null {0}", p1.Equals(null));
            Console.WriteLine("is empty string equal to null {0}", "" == null);
            Console.WriteLine();


            Person p11 = new Person("Homer", "Simpson", 50);
            Person p12 = new Person("Homer", "Simpson", 50);


            Console.WriteLine("ToString: {0}", p11.ToString());
            Console.WriteLine("p11.Hash Code: {0}", p11.GetHashCode());
            Console.WriteLine("p12.Hash Code: {0}", p12.GetHashCode());
            Console.WriteLine("is p11 equal to p12 {0}", p11.Equals(p12));

            p12.Age = 45;
            Console.WriteLine("is p11 equal to p12 {0}", p11.Equals(p12));
            Console.WriteLine("p11.Hash Code: {0}", p11.GetHashCode());
            Console.WriteLine("p12.Hash Code: {0}", p12.GetHashCode());

            Console.WriteLine();

            Console.WriteLine("=> static object methods");
            Person p3 = new Person("Sally", "Jones", 4);
            Person p4 = new Person("Sally", "Jones", 4);
            Console.WriteLine("object.Equals {0}", object.Equals(p3, p4));
            Console.WriteLine("object.ReferenceEquals {0}", object.ReferenceEquals(p3, p4));
            Console.ReadLine();
        }
Exemplo n.º 17
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");

            //  说明:我们希望这些都一致,以便测试Equals()和GetHashCode()方法
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            //  获取对象的字符串化版本
            Console.WriteLine("p1.ToString()={0}", p1.ToString());
            Console.WriteLine("p2.ToString()={0}", p2.ToString());

            //  测试重写的Equals()
            Console.WriteLine("p1=p2?:{0}", p1.Equals(p2));


            //  测试散列码
            Console.WriteLine("Same hash codes?:{0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            //  修改p2的年龄并再次测试
            p2.Age = 45;
            Console.WriteLine("p1.ToString()={0}", p1.ToString());
            Console.WriteLine("p2.ToString()={0}", p2.ToString());
            Console.WriteLine("p1=p2?:{0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes?:{0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            StaticMembersOfObject();
            Console.ReadLine();

            //Person p1 = new Person("Homer", "Simpson", 50);
            ////  使用System.Object的继承成员
            //Console.WriteLine("ToString:{0}", p1.ToString());
            //Console.WriteLine("Hash code:{0}", p1.GetHashCode());
            //Console.WriteLine("Type:{0}", p1.GetType());

            ////  让其他引用指向p1
            //Person p2 = p1;
            //object o = p2;
            //if (o.Equals(p1) && p2.Equals(o))
            //{
            //    Console.WriteLine("Same instance!");
            //}
            //Console.ReadLine();
        }
Exemplo n.º 18
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun eith System.Object *****/n");
            // Person p1 = new Person();
            //
            // Console.WriteLine("ToString: {0}",p1.ToString());
            // Console.WriteLine("Hash code: {0}",p1.GetHashCode());
            // Console.WriteLine("Type: {0}", p1.GetType());
            //
            // Person p2 = p1;
            // object o = p2;
            //
            // if (o.Equals(p1) && p2.Equals(o))
            // {
            //     Console.WriteLine("Same instance1");
            // }

            Person p1 = new Person("Homer", "Simpson", 50, "111-11-1111");
            Person p2 = new Person("Homer", "Simpson", 50, "111-11-1111");

            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            Console.WriteLine("p1 == p2 ?: {0}", p1.Equals(p2));

            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 == p2 ? : {0}", p1.Equals(p2));

            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());

            Console.WriteLine("Static methods from System.Object()");
            Person p3 = new Person("Sally", "Jones", 4);
            Person p4 = new Person("Sally", "Jones", 4);

            Console.WriteLine("P3 and P4 have the same state: {0}", object.Equals(p3, p4));
            Console.WriteLine("P3 and P4 are pointing to the same object: {0}", object.ReferenceEquals(p3, p4));

            Console.ReadLine();
        }
Exemplo n.º 19
0
        static void Main(string[] args)
        {
            Console.WriteLine("**** Fun with System.Object ****\n");
            Person a1 = new Person("Piter", "Byork", 32);

            //Использовать наследованные члены System.Object
            Console.WriteLine("To String: {0}", a1.ToString());
            Console.WriteLine("Hash code: {0}", a1.GetHashCode());
            Console.WriteLine("Type: {0}", a1.GetType());

            //Создать другую ссылку на р1
            Person a2 = a1;
            object o  = a2;

            //Указывают ли ссылки на один и тот же объект в памати?
            if (o.Equals(a1) && o.Equals(a2))
            {
                Console.WriteLine("Same instance!");
            }
            Console.WriteLine("----------TESTS---------\n;");
            //p1 и р2 идентичны! Для проверки методо Equals() и GetHashCode()
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            //Получить строковые версии объектов
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            //Проверить переопределённый метод Equals();
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            //Проверить хеш-коды
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();
            //Изменить возраст р2 и проверить снова
            p2.personAge = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            SharedMembersOfObject();
            Console.ReadLine();
        }
Exemplo n.º 20
0
        static void ModifiedClass()
        {
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("=> Testing Modified Person Class");

            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            Console.WriteLine($"ToString: {p1.ToString()} / {p2.ToString()}");
            Console.WriteLine($"Equality: {p1.Equals(p2)}");
            Console.WriteLine($"HashCode: {p1.GetHashCode()} / {p2.GetHashCode()}");
            Console.WriteLine($"Same HashCode: {p1.GetHashCode() == p2.GetHashCode()}");

            p2.Age = 45;
            Console.WriteLine($"ToString: {p1.ToString()} / {p2.ToString()}");
            Console.WriteLine($"Equality: {p1.Equals(p2)}");
            Console.WriteLine($"HashCode: {p1.GetHashCode()} / {p2.GetHashCode()}");
            Console.WriteLine($"Same HashCode: {p1.GetHashCode() == p2.GetHashCode()}");
        }
Exemplo n.º 21
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");
            //Person p1 = new Person();

            //Console.WriteLine("ToString: {0}", p1.ToString());
            //Console.WriteLine("Hash code: {0}", p1.GetHashCode());
            //Console.WriteLine("Type: {0}", p1.GetType());

            //Person p2 = p1;
            //object o = p2;
            //if(o.Equals(p1) && p2.Equals(o))
            //{
            //    Console.WriteLine("Same instance!");
            //}

            Person p1 = new Person("Homer", "Simpson", 50, "12345");
            Person p2 = new Person("Homer", "Simpson", 50, "12345");

            Console.WriteLine($"p1.ToString() = {p1.ToString()}");
            Console.WriteLine($"p2.ToString() = {p2.ToString()}");

            Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}");

            Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}");
            Console.WriteLine();

            p2.Age = 45;
            Console.WriteLine($"p1.ToString() = {p1.ToString()}");
            Console.WriteLine($"p2.ToString() = {p2.ToString()}");

            Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}");

            Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}");

            Person p3 = new Person("Sally", "Jones", 4, "43562");
            Person p4 = new Person("Sally", "Jones", 4, "43562");

            Console.WriteLine($"P3 and P4 have same state: {object.Equals(p3, p4)}");
            Console.WriteLine($"P3 and P4 are pointing to the same object: {object.ReferenceEquals(p3, p4)}");
            Console.ReadLine();
        }
Exemplo n.º 22
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");
            //Person p1 = new Person();

            //// Use inherited members of System.Object
            //Console.WriteLine("ToString: {0}", p1.ToString());
            //Console.WriteLine("Hash code {0}", p1.GetHashCode());
            //Console.WriteLine("Type {0}:", p1.GetType());

            //// Make some other references to p1.
            //Person p2 = p1;
            //object o = p2;

            //// Are the references pointing to the same object in memory?
            //if (o.Equals(p1) && p2.Equals(o))
            //    Console.WriteLine("Same instance!");

            Console.WriteLine("Testing modified Person class\n");

            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            // Get stringified version of objects.
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            // Test overriden Equals().
            Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}");

            // Test hash codes.
            Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}");

            // Change age of p2 and test again:
            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}");
            Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}");

            Console.ReadLine();
        }
Exemplo n.º 23
0
        static void Main(string[] args)
        {
            Console.WriteLine("fun with system.object");

            Person p1 = new Person();

            Console.WriteLine(p1.ToString());
            Console.WriteLine(p1.GetHashCode());
            Console.WriteLine(p1.GetType());
            Console.ReadLine();
        }
Exemplo n.º 24
0
        static void Main(string[] args)
        {
            try
            {
                Person p1 = new Person("Suri", "Thor", 50);

                Person p2 = new Person("Steve", "Rogers", 55);

                // Get stringified version of objects.
                Console.WriteLine("p1.ToString() = {0}", p1.ToString());
                Console.WriteLine("p2.ToString() = {0}", p2.ToString());

                // Test overridden Equals().
                Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

                // Test hash codes.
                Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
                Console.WriteLine();

                // Change age of p2 and test again.
                p2.Age = 45;
                Console.WriteLine("p1.ToString() = {0}", p1.ToString());
                Console.WriteLine("p2.ToString() = {0}", p2.ToString());
                Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
                Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
                Console.ReadLine();

                // Static members of System.Object.
                Person p3 = new Person("Sally", "Jones", 4);
                Person p4 = new Person("Sally", "Jones", 4);
                Console.WriteLine("P3 and P4 have same state: {0}", Equals(p3, p4));
                Console.WriteLine("P3 and P4 are pointing to same object: {0}", ReferenceEquals(p3, p3));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Exemplo n.º 25
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");

            Person p1 = new Person("Tushar", "Mohite", 23);
            Person p2 = new Person("Tushar", "Mohite", 23);

            // Get StringField version of objects.
            Console.WriteLine("p1.ToString() : {0}", p1.ToString());
            Console.WriteLine("p2.ToString() : {0}", p2.ToString());

            // Test overriden Equals().
            Console.WriteLine("p1 = p2 ? : {0}", p1.Equals(p2));

            // Test Hash Codes
            Console.WriteLine("Same hash codes : {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            // Change age of p2 and test again
            p2.Age = 46;
            Console.WriteLine("p1.ToString() : {0}", p1.ToString());
            Console.WriteLine("p2.ToString() : {0}", p2.ToString());
            Console.WriteLine("p1 = p2 ? : {0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes : {0}", p1.GetHashCode() == p2.GetHashCode());

            // Static members of System.Object.
            Console.WriteLine();
            Person p3 = new Person("Sally", "Jones", 4);
            Person p4 = new Person("Sally", "Jones", 4);

            Console.WriteLine("P3 and P4 have same state: {0}", object.Equals(p3, p4));
            Console.WriteLine("P3 and P4 are pointing to same object: {0}",
                              object.ReferenceEquals(p3, p4));

            Console.ReadLine();
        }
Exemplo n.º 26
0
        static void Main(string[] args)
        {
            Console.WriteLine("*****  Fun  with  System.Object  *****\n");
            //  ПРИМЕЧАНИЕ:  эти  объекты  идентичны  для  проверки
            //  методов  Equals()  и  GetHashCode().
            Person pl = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            //  Получить  строковые  версии  объектов.
            Console.WriteLine("pl.ToString()  = {0}", pl.ToString());
            Console.WriteLine("p2.ToString()  = {0}", p2.ToString());
            //  Проверить  переопределенный  метод  Equals().
            Console.WriteLine("pl  =p2?:  {0}", pl.Equals(p2));
            //  Проверить  хеш-коды.
            Console.WriteLine("Samehashcodes?:  {0}", pl.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();
            //  Изменить  возраст  p2  и  проверить  снова.
            p2.Age = 45;
            Console.WriteLine("pl.ToString()  = {0}", pl.ToString());
            Console.WriteLine("p2.ToString()  = {0}", p2.ToString());
            Console.WriteLine("pl  =p2?:  {0}", pl.Equals(p2));
            Console.WriteLine("Samehashcodes?:  {0}", pl.GetHashCode() == p2.GetHashCode());
            Console.ReadLine();
        }
Exemplo n.º 27
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");

            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            Console.WriteLine($"p1.ToString() = {p1.ToString()}");
            Console.WriteLine($"p2.ToString() = {p2.ToString()}");

            //Test overriding Equals()
            Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}");

            //Test hash codes
            Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}");
            Console.WriteLine();

            //Change age of p2 and test again
            p2.Age = 45;
            Console.WriteLine($"p1.ToString() = {p1.ToString()}");
            Console.WriteLine($"p2.ToString() = {p2.ToString()}");
            Console.WriteLine($"p1 = p2?: {p1.Equals(p2)}");
            Console.WriteLine($"Same hash codes?: {p1.GetHashCode() == p2.GetHashCode()}");
        }
Exemplo n.º 28
0
        static void Main(string[] args)
        {
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();
            StaticMembersOfObject();
            Console.Read();
        }
Exemplo n.º 29
0
        static void Main(string[] args)
        {
            Person p1 = new Person();

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("Hash code: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());

            Person p2 = p1;
            object o  = p2;

            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same instance!");
            }
            Console.ReadLine();
        }
Exemplo n.º 30
0
		public static void Main (string[] args)
		{
			var person = new Person ();

			Console.WriteLine ("ToString: {0}", person.ToString ());
			Console.WriteLine ("Hash Code: {0}", person.GetHashCode ());
			Console.WriteLine ("Type: {0}", person.GetType ());

			Person person2 = person;
			object obj = person;

			//Are the references pointing to the same object in memory?
			if (obj.Equals (person) && person2.Equals (obj)) {
				Console.WriteLine("Same Instance");
			}
			Console.ReadLine();
		}
Exemplo n.º 31
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Fun with System.Object");

            Person p1 = new Person();

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("Hash Code: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());

            Person p2 = p1;
            object o1 = p2;

            if (o1.Equals(p1) && p2.Equals(o1))
            {
                Console.WriteLine("Same Instance");
            }
        }
Exemplo n.º 32
0
        public static void Main(string[] args)
        {
            var person = new Person();

            Console.WriteLine("ToString: {0}", person.ToString());
            Console.WriteLine("Hash Code: {0}", person.GetHashCode());
            Console.WriteLine("Type: {0}", person.GetType());

            Person person2 = person;
            object obj     = person;

            //Are the references pointing to the same object in memory?
            if (obj.Equals(person) && person2.Equals(obj))
            {
                Console.WriteLine("Same Instance");
            }
            Console.ReadLine();
        }
Exemplo n.º 33
0
        private static void Main(string[] args)
        {
            Console.WriteLine("***** Fun With System.Object *****");
            var person  = new Person("Sergeo", "Next", 45);
            var person1 = new Person("Sergeo", "Next", 45);

            // person1.Age = 40;
            Console.WriteLine("person.ToString(): {0}", person);
            Console.WriteLine("person1.ToString(): {0}", person1);

            //Тестируем Equals
            Console.WriteLine("person = person1 ? :{0}", person.Equals(person1));
            //Проверяем хэш коды
            Console.WriteLine("Same hash codes ? :{0}", person.GetHashCode() == person1.GetHashCode());
            //Эквивалентность
            Console.WriteLine("Poiting to same object ? :{0}", ReferenceEquals(person, person1));
            Console.ReadLine();
        }
Exemplo n.º 34
0
        static void Main(string[] args)
        {
            Console.WriteLine("Fun with System.Object");

            Person p1 = new Person();
            Person p2 = p1;
            object o = p2;

            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same Instance");
            }

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("GetHashCode: {0}", p1.GetHashCode());
            Console.WriteLine("GetType: {0}", p1.GetType());

            Console.ReadLine();
        }
Exemplo n.º 35
0
        static void OrigMethods()
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("=> Original Methods");

            Person p1 = new Person("David", "Audru", 35);

            Console.WriteLine($"ToString: {p1.ToString()}");
            Console.WriteLine($"ToString: {p1}");
            Console.WriteLine($"Hash Code: {p1.GetHashCode()}");
            Console.WriteLine($"Type: {p1.GetType()}");

            Person p2 = p1;
            object o  = p2;

            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same instance!");
            }
        }
Exemplo n.º 36
0
        static void Main(string[] args)
        {
            Console.WriteLine("Fun with System.Object");
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p4 = new Person("Homer", "Simpson", 50);

            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("GetHash: {0}", p1.GetHashCode());
            Console.WriteLine("GetType: {0}", p1.GetType());

            Person p2 = p1;
            object o  = p2;

            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same reference");
            }
            Console.WriteLine(object.Equals(p1, p4));
            Console.WriteLine(object.ReferenceEquals(p1, p4));
            Console.ReadKey();
        }
Exemplo n.º 37
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with System.Object *****\n");
            Person p1 = new Person();

            // Использовать унаследованне члены System.Object.
            Console.WriteLine("ToString: {0}", p1.ToString());
            Console.WriteLine("Hash code: {0}", p1.GetHashCode());
            Console.WriteLine("Type: {0}", p1.GetType());

            // Создать другую ссылку на p1.
            Person p2 = p1;
            object o  = p2;

            // Указывают ли ссылки на один и то же объект в памяти?
            if (o.Equals(p1) && p2.Equals(o))
            {
                Console.WriteLine("Same instance!"); // Один и тот же экземпляр.
            }
            Console.ReadLine();
        }
Exemplo n.º 38
0
        static void Main( string[] args )
        {
            Console.WriteLine("***** Fun with System.Object *****\n");

            // NOTE:  We want these to be identical to test
            // the Equals() and GetHashCode() methods.
            Person p1 = new Person("Homer", "Simpson", 50);
            Person p2 = new Person("Homer", "Simpson", 50);

            // Get stringified version of objects.
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());

            // Test Overridden Equals()
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));

            // Test hash codes.
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());
            Console.WriteLine();

            // Change age of p2 and test again.
            p2.Age = 45;
            Console.WriteLine("p1.ToString() = {0}", p1.ToString());
            Console.WriteLine("p2.ToString() = {0}", p2.ToString());
            Console.WriteLine("p1 = p2?: {0}", p1.Equals(p2));
            Console.WriteLine("Same hash codes?: {0}", p1.GetHashCode() == p2.GetHashCode());

            Console.WriteLine();
            StaticMembersOfObject();

            Console.ReadLine();
        }