fork download
  1. using System;
  2.  
  3.  
  4. // Define a reference type that does not override Equals.
  5. public class Person
  6. {
  7. private string personName;
  8.  
  9. public Person(string name)
  10. {
  11. this.personName = name;
  12. }
  13.  
  14. public override string ToString()
  15. {
  16. return this.personName;
  17. }
  18. }
  19.  
  20. public class Example
  21. {
  22. public static void Main()
  23. {
  24. Person person1a = new Person("John");
  25. Person person1b = person1a;
  26. Person person2 = new Person(person1a.ToString());
  27. string sr1="j";
  28. object sr=sr1;
  29. // string str=sr;
  30. Console.WriteLine(sr);
  31.  
  32. Person person1c = new Person("John");
  33.  
  34. Console.WriteLine("Calling Equals:");
  35. Console.WriteLine("person1a and person1b: {0}", person1a.Equals(person1b));
  36. Console.WriteLine("person1a and person2: {0}", person1a.Equals(person1c));
  37.  
  38. Console.WriteLine("\nCasting to an Object and calling Equals:");
  39. Console.WriteLine("person1a and person1b: {0}", ((object) person1a).Equals((object) person1b));
  40. Console.WriteLine("person1a and person2: {0}", ((object) person1a).Equals((object) person2));
  41. }
  42. }
Success #stdin #stdout 0.01s 131648KB
stdin
Standard input is empty
stdout
j
Calling Equals:
person1a and person1b: True
person1a and person2: False

Casting to an Object and calling Equals:
person1a and person1b: True
person1a and person2: False