Computer >> Máy Tính >  >> Lập trình >> C#

Giao diện IStructuralEquatable làm gì trong C #?

Giao diện IStructuralEquatable xác định các phương thức hỗ trợ việc so sánh các đối tượng để có cấu trúc bình đẳng, có nghĩa là hai đối tượng bằng nhau vì chúng có giá trị bằng nhau.

Nó bao gồm hai phương pháp sau -

Sr.No Phương pháp &Mô tả
1 Bằng (Đối tượng, IEqualityComparer)
Phương thức xác định xem một đối tượng có cấu trúc bằng đối tượng hiện tại hay không.
2 GetHashCode (IEqualityComparer)
Các phương thức mã băm cho phiên bản hiện tại.

Hãy để chúng tôi xem một ví dụ trong đó tôi đã tạo các đối tượng Tuple và làm việc với giao diện IstructuralEquatable:

Tạo Tuples -

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

Bây giờ, hãy kiểm tra sự bình đẳng bằng cách gọi IStructuralEquatable.Equals bằng trình so sánh mặc định.

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