আমরা কর্মচারী শ্রেণীর দুটি উদাহরণ তৈরি করছি, e এবং e1। e-কে toe1 বরাদ্দ করা হয়েছে। উভয় বস্তুই একই রেফারেন্সের দিকে নির্দেশ করছে, তাই আমরা সমস্ত সমানের জন্য সত্যিকারের প্রত্যাশিত আউটপুট পাব।
দ্বিতীয় ক্ষেত্রে আমরা লক্ষ্য করতে পারি যে, যদিও বৈশিষ্ট্যের মান একই। সমান রিটার্ন মিথ্যা। মূলত, যখন আর্গুমেন্টগুলি বিভিন্ন বস্তুকে নির্দেশ করে। সমান মানগুলি পরীক্ষা করে না এবং সর্বদা মিথ্যা ফেরত দেয়।
উদাহরণ 1
<প্রি>ক্লাস প্রোগ্রাম{ স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস){ কর্মচারী ই =নতুন কর্মচারী(); e.Name ="পরীক্ষা"; e.Age =27; কর্মচারী e2 =নতুন কর্মচারী(); e2 =e; var valueEqual =e.Equals(e2); Console.WriteLine(valueEqual); //2য় কেস কর্মচারী e1 =নতুন কর্মচারী(); e1.Name ="পরীক্ষা"; e1.বয়স =27; var valueEqual1 =e.Equals(e1); Console.WriteLine(valueEqual1); Console.ReadLine(); }}শ্রেণীর কর্মচারী{ পাবলিক int বয়স { পেতে; সেট } পাবলিক স্ট্রিং নাম { get; সেট }}আউটপুট
সত্য মিথ্যা
উদাহরণ 2
<প্রি>ক্লাস প্রোগ্রাম{ স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস){ কর্মচারী ই =নতুন কর্মচারী(); e.Name ="পরীক্ষা"; e.Age =27; কর্মচারী e2 =নতুন কর্মচারী(); e2 =e; var valueEqual =e.Equals(e2); Console.WriteLine(valueEqual); কর্মচারী e1 =নতুন কর্মচারী(); e1.Name ="পরীক্ষা"; e1.বয়স =27; var valueEqual1 =e.Equals(e1); Console.WriteLine(valueEqual1); Console.ReadLine(); }}শ্রেণীর কর্মচারী{ পাবলিক int বয়স { পেতে; সেট } পাবলিক স্ট্রিং নাম { get; সেট } পাবলিক ওভাররাইড bool Equals(object? obj){ if (obj ==null) ফেরত false; যদি (this.GetType() !=obj.GetType()) মিথ্যা ফেরত দেয়; কর্মচারী p =(কর্মচারী)obj; প্রত্যাবর্তন (this.Age ==p.Age) &&(this.Name ==p.Name); } পাবলিক ওভাররাইড int GetHashCode(){ রিটার্ন Age.GetHashCode() ^ Name.GetHashCode(); }}আউটপুট
TrueTrue