In C#: Was ist der Unterschied zwischen `==` und `Equals()` beim Vergleich von Objekten?
Hallo Kollegen! Ich bin ein Anfänger in C#-Entwicklung und habe ein Verständnisproblem. Ich habe eine einfache Klasse Person mit zwei Eigenschaften: Name und Age. Ich habe zwei Instanzen dieser Klasse mit denselben Feldwerten erstellt. Wenn ich sie mit `==` vergleiche, ist das Ergebnis `false`. Aber wenn ich die Methode `Equals()` verwende, ist es auch `false`. Ich hatte erwartet, dass sie gleich sind, da die Daten übereinstimmen. Hier ist der Code:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
Person p1 = new Person { Name = "Alice", Age = 30 };
Person p2 = new Person { Name = "Alice", Age = 30 };
Console.WriteLine(p1 == p2); // false
Console.WriteLine(p1.Equals(p2)); // false
}
}
```