Avatar ·

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 } } ```