Heim > Artikel > Backend-Entwicklung > So verwenden Sie sowohl Take- als auch Skip-Operatoren in der LINQ C#-Programmierung
Wir erstellen zwei Instanzen der Employee-Klasse, e und e1. e ist zugeordnet e1. Beide Objekte verweisen auf dieselbe Referenz, sodass wir wahr werden Für alle Gleichheiten erwartete Ausgabe.
Im zweiten Fall können wir beobachten, dass die Attributwerte zwar gleich sind „Gleich“ gibt „false“ zurück. Grundsätzlich gilt, wenn Parameter auf unterschiedliche Objekte verweisen Equals überprüft den Wert nicht und gibt immer false zurück.
class Program{ static void Main(string[] args){ Employee e = new Employee(); e.Name = "Test"; e.Age = 27; Employee e2 = new Employee(); e2 = e; var valueEqual = e.Equals(e2); Console.WriteLine(valueEqual); //2nd Case Employee e1 = new Employee(); e1.Name = "Test"; e1.Age = 27; var valueEqual1 = e.Equals(e1); Console.WriteLine(valueEqual1); Console.ReadLine(); } } class Employee{ public int Age { get; set; } public string Name { get; set; } }
True False
class Program{ static void Main(string[] args){ Employee e = new Employee(); e.Name = "Test"; e.Age = 27; Employee e2 = new Employee(); e2 = e; var valueEqual = e.Equals(e2); Console.WriteLine(valueEqual); Employee e1 = new Employee(); e1.Name = "Test"; e1.Age = 27; var valueEqual1 = e.Equals(e1); Console.WriteLine(valueEqual1); Console.ReadLine(); } } class Employee{ public int Age { get; set; } public string Name { get; set; } public override bool Equals(object? obj){ if (obj == null) return false; if (this.GetType() != obj.GetType()) return false; Employee p = (Employee)obj; return (this.Age == p.Age) && (this.Name == p.Name); } public override int GetHashCode(){ return Age.GetHashCode() ^ Name.GetHashCode(); } }
True True
Das obige ist der detaillierte Inhalt vonSo verwenden Sie sowohl Take- als auch Skip-Operatoren in der LINQ C#-Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!