IStructuralEquatable ইন্টারফেস অবজেক্টগুলোর স্ট্রাকচারাল ইকুয়ালিটি তুলনার জন্য মেথড ডিফাইন করে, অর্থাৎ দুটি অবজেক্ট সমান কারণ তাদের মান সমান।
এতে নিচের দুটি মেথড রয়েছে:
| ক্রমিক নং | মেথড ও বিবরণ |
|---|---|
| 1 | Equals(Object, IEqualityComparer) মেথডটি নির্ধারণ করে একটি অবজেক্ট কি করেন্ট ইন্সট্যান্সের সাথে স্ট্রাকচারালি সমান। |
| 2 | GetHashCode(IEqualityComparer) মেথডটি করেন্ট ইন্সট্যান্সের জন্য একটি হ্যাশ কোড রিটার্ন করে। |
নিচে একটি উদাহরণ দেওয়া হলো যেখানে Tuple অবজেক্ট তৈরি করে IStructuralEquatable ইন্টারফেস ব্যবহার করা হয়েছে:
Tuple তৈরি করুন:
var tupleOne = Tuple.Create(26.3, Double.NaN, 35.6); var tupleTwo = Tuple.Create(26.3, Double.NaN, 35.6);
এখন ডিফল্ট কম্পেয়ারার ব্যবহার করে IStructuralEquatable.Equals কল করে সমতা চেক করুন।
IStructuralEquatable chk = tupleOne; Console.WriteLine(chk.Equals(tupleTwo, EqualityComparer<object>.Default));