Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

อินเทอร์เฟซ ISstructuralEquatable ทำอะไรใน C #


อินเทอร์เฟซ ISstructuralEquatable กำหนดวิธีการเพื่อรองรับการเปรียบเทียบวัตถุเพื่อความเท่าเทียมกันของโครงสร้าง ซึ่งหมายความว่าวัตถุสองชิ้นมีค่าเท่ากันเพราะมีค่าเท่ากัน

ประกอบด้วยสองวิธีดังต่อไปนี้ -

Sr.No วิธีการ &คำอธิบาย
1 Equals(Object, IEqualityComparer)
วิธีการกำหนดว่าวัตถุมีโครงสร้างเท่ากับอินสแตนซ์ปัจจุบันหรือไม่
2 GetHashCode(IEqualityComparer)
เมธอดรหัสแฮชสำหรับอินสแตนซ์ปัจจุบัน

ให้เราดูตัวอย่างที่ฉันได้สร้างวัตถุ Tuple และทำงานกับอินเทอร์เฟซ IstructuralEquatable:

สร้างทูเพิล -

var tupleOne = Tuple.Create(26.3, Double.NaN, 35.6);
var tupleOne = Tuple.Create(26.3, Double.NaN, 35.6);

ตอนนี้ตรวจสอบความเท่าเทียมกันโดยเรียก ISstructuralEquatable.Equals โดยใช้ตัวเปรียบเทียบเริ่มต้น

IStructuralEquatable chk = tupleOne;
Console.WriteLine(chk.Equals(tupleTwo, EqualityComparer<object>.Default));