المقارنات و الفرز داخل المجموعات

تقوم الفئات System.Collections بتنفيذ مقارنات في كافة العمليات تقريباً المشتركة في إدارة المجموعات، سواء كان البحث عن العنصر لإزالته أو إرجاع قيمة زوجي المفتاح و القيمة.

يتم استخدام مُنشئين لعمليات المقارنة. الأسلوب يساوي، أما انه مُوروث أو مشتق من Object، وهو يقوم ببساطة بإرجاع قيمة منطقية تشير إلى ما إذا كان الكائنين متساويين. يقوم الأسلوب IComparable.CompareTo و الأسلوب IComparer.Compare بإرجاع عدد صحيح يشير إلى كيفية مقارنة القيمتين بالنسبة إلى بعضها البعض. يُستخدم يساوي في تدقيقات المساواة ;اما الأسلوبان IComparable.CompareTo و IComparer.Compare و النسخ المطابقة لهما والموجودة على الواجهات العامة، والأساليب IComparer<T>.Compare و IComparable<T>.CompareTo أساليب، فيتم استخدامها للفرز.

يمكن أن تكون المقارنة بين عناصر المجموعة أو بين عنصر قيمة محددة. عندما لا يتم تحديد المُتقارنين بوضوح، فمن المتوقع أن أحدهما على الأقل من الكائنات التي تتم مقارنتها أن يقوم بتطبيق الواجهة IComparable و يتمكن من مقارنة نفسه مع الكائن الآخر.

تتضمن الفئات التي بعض الأساليب التي تقبل التطبيق IComparer كمعلمة. عند استخدام هذه الأساليب و تكون معلمة IComparer غير فارغة المرجع ( Nothing في Visual Basic)، فالكائنات التي تتم مقارنتها غير مطلوبة لتنفيذ IComparable بنفسها. ومع ذلك، فإنها ممارسة جيدة دوماً لتطبيق IComparable على كافة الفئات التي يمكن استخدامها كقيم في مجموعة القائمة أو كمفاتيح في مجموعة القاموس.

قبول بعض التحميلات الزائدة المنشئ للقاموس مجموعات تطبيق IComparer، الذي هو يستخدم لمقارنة مفاتيح كلما comparهوons مطلوبة. Arrayالتحميلات الزائدة من قام بهالفرز أسلوب IComparer تطبيق، التي تستخدم فقط لهذا الاستدعاء معينة إلى الطريقة فرز قبول.

إعدادات البيانات الموروثة الحالية يمكن أن تؤثر على المقارنات وفرزها داخل مجموعة. بشكل افتراضي، فالمقارنات وفرزها في الفئات المجموعات هي حساسة للبيانات الموروثة. لتجاهل إعدادات البيانات الموروثة وبالتالي الحصول على مقارنة متناسقة و نتائج الفرز، قم باستخدام InvariantCulture مع عضو يقوم بالتحميلات الزائدة التي تقبل CultureInfo. لمزيد من المعلومات، راجع تنفيذ عمليات سلسلة حساسة للبيانات الموروثة في المجموعات و تنفيذ عمليات سلسلة غير حساسة للبيانات الموروثة في الصفيف.

راجع أيضًا:

المرجع

IComparer

IComparer<T>

IComparable

IComparable<T>

موارد أخرى

إنشاء المجموعات و التعامل معها