來個程式碼吧, 這樣比較好解釋.
object a1 = 1;
object a2 = 1;
Console.WriteLine(string.Format("object a1==a2 {0}", a1 == a2));//false
Console.WriteLine(string.Format("object a1.Equals(a2) {0}", a1.Equals(a2)));//true
Console.WriteLine();
object s1 = "s1";
object s2 = "s1";
Console.WriteLine(string.Format("object s1==s2 {0}", s1 == s2));//true
Console.WriteLine(string.Format("object s1.Equals(s2) {0}", s1.Equals(s2)));//true
Console.WriteLine();
object r1 = new List<string>();
object r2 = new List<string>();
Console.WriteLine(string.Format("List<string> r1==r2 {0}", r1 == r2));//false
Console.WriteLine(string.Format("List<string> r1.Equals(r2) {0}", r1.Equals(r2)));//false
Console.ReadKey();