Eng.Amal نشر 3 نوفمبر 2015 أرسل تقرير نشر 3 نوفمبر 2015 هل هناك فرق بين وضع == أو .Equals() أثناء المقارنة؟ إن كان هناك فرق أرجو الشرح مع مثال اقتباس
0 Lujain Maaz نشر 5 نوفمبر 2015 أرسل تقرير نشر 5 نوفمبر 2015 عادةً ما تُستخدم العملية '==' في التعبيرات expressions من النوع Object حيث أنها تقارن بين غرضين 2 Objects من ناحية قيمة المؤشر لكل منهما Reference:Sysytem.Object.ReferenceEqualsبينما Equals هي عبارة عن دالة (إصدار معاد تعريفة للعملية '==') overriden تستخدم عادةً للمقارنات من نوع string، أي مقارنة محتوى الغرض object.لنقم بعمل مقارنتين مرة باستخدام العملية '==' مرة أخرى باستخدام الدالة .Equals وطباعة النتيجة:static void Main(string[] args) { char[] chars = { 'a', 'b', 'c'}; Object s1 = new String(chars); Object s2 = new String(chars); Console.Write("s1.equals(s2) :" + s1.Equals(s2) + " s1==s2 :"); Console.WriteLine(s1 == s2); String s3 = "abc"; String s4 = "abc"; Console.Write("s3.equals(s4) :" + s1.Equals(s2) + " s3==s4 :"); Console.WriteLine(s3 == s4); Console.ReadLine(); }قمت بإنشاء 2 Objects من نوع String ومقارنتهما مرة باستخدام '=='ومرة باستخدام .Equals()، عند طباعة نتيجة مقارنة الغرضين باستخدام '==' تتم المقارنة بحسب الـreference أي بحسب القيمة التي تستخدم للتأشير على قيمة محتوى الObject، أي سيتم طباعة قيمة False لأن قيمة مؤشر الغرض الأول لا تساوي قيمة مؤشر الغرض الثاني، أما باستخدام الدالة .Equals فسيتم طباعة قيمة True لان محتوى الغرضين متساوي وهو abc اقتباس
السؤال
Eng.Amal
هل هناك فرق بين وضع == أو .Equals() أثناء المقارنة؟ إن كان هناك فرق أرجو الشرح مع مثال
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.