อินเทอร์เฟซ 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));