IEnumerable و IEnumerator كلاهما واجهات متوفرة في C #. الأول هو وحدة نمطية ، في حين أن الأخير هو كائن.
IEnumerable ينتج IEnumerator. هنا يتم استخدام GetEnumerator للحصول على IEnumerator ، حيث يتم استخدام كل حلقة لإنشاء رمز يستخدم Enumerator. العداد يختلف عن IEnumerator لأن IEnumerator هو واجهة. العداد يطبقها.
الوجبات السريعة الرئيسية
- IEnumerable هي واجهة تتيح التكرار عبر مجموعة من الكائنات ، بينما IEnumerator عبارة عن فئة تنفذ واجهة IEnumerator وتوفر طرقًا لاجتياز مجموعة.
- يوفر IEnumerable طريقة واحدة (GetEnumerator) تقوم بإرجاع كائن IEnumerator ، بينما يوفر IEnumerator طرقًا للتنقل عبر المجموعة (MoveNext) واسترداد الكائن الحالي (الحالي).
- يتم استخدام IEnumerable لإنشاء مجموعات يمكن تكرارها ، بينما يتم استخدام IEnumerator لاجتياز تلك المجموعات.
IEnumerable مقابل IEnumerator
الفرق بين IEnumerable و IEnumerator هو أعمال IEnumerable للواجهة العامة ، ويعمل IEnumerator لجميع الواجهات غير العامة. IEnumerable يشير إلى كائن يمكن تعداده ، ولكن يتم تنفيذ IEnumerator باستخدام كل عبارة للتكرار. تستخدم الواجهة IEnumerable IEnumerator لتكرار جميع العناصر المستخدمة لكل عبارة.
يستخدم IEnumerable للعثور على كائن يستخدم كواجهة. يتم استخدامه لتكرار جميع العناصر في المجموعة.
تسهل عملية التكرار اجتياز المجموعة. يعمل ككائن. GetEnumerator هي طريقة تُستخدم لتنفيذ واجهة IEnumerator.
يحتوي IEnumerator على طريقتين ، إعادة تعيين () و MoveNext () ، وله خاصية ممتدة تُعرف باسم Current. MoveNext () هي طريقة تنتج قيمة منطقية تشير إلى عنصر نهاية القائمة. طريقة إعادة التعيين تجعل العداد موضعه الافتراضي.
جدول المقارنة
معلمات المقارنة | لا تعد | البسط |
---|---|---|
نوع الواجهة | عام | غير عام |
عدد الطرق | واحد | المستوى الثاني |
الإسترجاع : | البسط | بدون اضاءة |
حالة المؤشر | لا يمكن الاحتفاظ بها | يمكن الاحتفاظ بها |
منتج | كائن معدود | لكل نتيجة بيان |
طريقة الكتابة | ملخص | خرسانة |
ما هو IEnumerable؟
هذه واجهة يتم تنفيذها بواسطة فئة يمكن تعدادها. المجموعة الكاملة بتنسيق c# يمكن تنفيذ واجهة IEnumerable. تقوم بإرجاع IEnumerator. لا يتغير حسب محددات الوصول المستخدمة في الكود.
لدى IEnumerable طريقة تُعرف باسم GetEnumerator. هذا التنفيذ يتم داخل الفصل فقط.
تسهل عملية التكرار اجتياز المجموعة. يعمل ككائن. GetEnumerator هي طريقة تُستخدم لتنفيذ واجهة IEnumerator.
تُعرف IEnumerable بأنها واجهة عامة نظرًا لأن التعليمات البرمجية مكتوبة بحجم أصغر جدًا لأنها تحتاج إلى التنفيذ لمرة واحدة فقط. لم يحدث ذلك يهم كم عدد المنشئات المستخدمة في تنفيذ التعليمات البرمجية لتكرار جميع العناصر.
يحتوي الكود على صيانة منخفضة لأن التعديل على الكود يخضع لنظام أساسي واحد ولا يتطلب أي تغييرات إضافية. يستخدم التجريد لتكرار جميع العناصر في المصفوفة.
يستخدم مكرر IEnumerator الذي يستخدم لتكرار جميع العناصر. نظرًا لأنها فئة عامة ، فإنها تقوم بسهولة بتكرار العناصر في المصفوفة. يوفر واجهة مشتركة. يتم استخدامه في جميع الفئات غير العامة.
ما هو IEnumerator؟
له طريقتان لتنفيذ التكرار لجميع العناصر في المجموعة. له طريقتان هما MoveNext و Reset. MoveNext هي طريقة تشير إلى أن التكرار لم يصل إلى العنصر الأخير في المجموعة.
طريقة إعادة الضبط تفعل نفس الشيء كما يبدو. يشير إلى بدء التكرار مرة أخرى بعد إجراء التكرار السابق حتى العنصر الأخير في المصفوفة.
أخيرًا ، الكائن الوحيد هو Current ، والذي يعطي العنصر الحالي كنتيجة للتكرار. لديها بعض الوصول المحدد إلى عناصرها. يوفر فقط الوصول للقراءة فقط إلى كل صفيفها.
يستدعي IEnumerator الخاصية الحالية ، المسؤولة عن إرجاع العنصر في القائمة المستخدمة حاليًا. يستخدم طريقتين وخاصية لتكرار الكائن.
تستخدم كل عبارة قائمة المصفوفات ، وتبدأ التكرار من خلال المضي قدمًا ، وتستخدم إحدى الطرق. لا يمكن لـ IEnumerator إرجاع IEnumerable.
يمكنه بسهولة استعادة حالة المؤشر الحالية. يستخدم IEnumerator طريقة محددة للكتابة. يبدأ التكرار في كومة من خلال تكرار العنصر الأول من المكدس والانتهاء بالعنصر الأخير في المكدس.
الاختلافات الرئيسية بين IEnumerable و IEnumerator
- يتم استخدام IEnumerable للواجهة العامة ، ولكن يتم استخدام IEnumerator للواجهة غير العامة.
- لدى IEnumerable طريقة واحدة فقط ، في حين أن IEnumerator له طريقتان فقط.
- يمكن لـ IEnumerable إرجاع IEnumerator ، لكن لا يمكن لـ IEnumerator إرجاع IEnumerable.
- لا يمكن لـ IEnumerable الاحتفاظ بحالة المؤشر الحالية ، ولكن يمكن لـ IEnumerator الاحتفاظ بها.
- يُظهر IEnumerable كائنًا تم تعداده ، بينما يحتوي IEnumerator على كائن لكل عبارة.
- IEnumerable هي طريقة مجردة للكتابة ، لكن IEnumerator يستخدم كتابة ملموسة.
آخر تحديث: 25 يونيو 2023
سانديب بهانداري حاصل على بكالوريوس هندسة في الحاسبات من جامعة ثابار (2006). لديه 20 عامًا من الخبرة في مجال التكنولوجيا. لديه اهتمام كبير في المجالات التقنية المختلفة ، بما في ذلك أنظمة قواعد البيانات وشبكات الكمبيوتر والبرمجة. يمكنك قراءة المزيد عنه على موقعه صفحة بيو.
نشكرك على تقديم هذه المقارنة الشاملة بين IEnumerable و IEnumerator. إنه واضح وموجز، مما يجعل من السهل فهم الاختلافات بين الواجهتين.
لقد وجدت أن هذا المنشور ثاقب جدًا وموضح جيدًا. المقارنة بين IEnumerable و IEnumerator مفيدة جدًا.
يعد هذا المنشور مصدرًا قيمًا لفهم الاختلافات بين IEnumerable وIEnumerator. يعتبر التقسيم دقيقًا وثاقبًا، مما يجعل من السهل فهم وظائف كلتا الواجهتين.
تم شرح المقارنة بين IEnumerable و IEnumerator بشكل جيد للغاية، كما أن تفصيل الاختلافات مفيد جدًا.
يقوم المنشور بعمل ممتاز في مقارنة IEnumerable و IEnumerator، مما يجعله مرجعًا ممتازًا للمطورين.
إن شرحك لكيفية عمل IEnumerable و IEnumerator في C# ممتاز. إنه لأمر رائع أن نرى المقارنة والتباين بين هذه الواجهات.
إنني أقدر المقارنة التفصيلية بين IEnumerable و IEnumerator، فهي غنية بالمعلومات ومكتوبة بشكل جيد.
الطريقة التي حددت بها الخصائص والأساليب المختلفة لـ IEnumerable و IEnumerator مفيدة حقًا للمطورين.
الشرح التفصيلي لـ IEnumerable و IEnumerator مفيد للغاية ومنظم جيدًا. إنه مورد قيم للمطورين.
شكرا لك على هذا المنشور المفيد. إن شرح IEnumerable و IEnumerator واضح جدًا ويسهل فهم الاختلافات بين الواجهتين.
إن تفصيل IEnumerable و IEnumerator في هذا المنشور مفصل وواضح، مما يجعله مصدرًا رائعًا للمطورين.
لقد وجدت أن المقارنة بين IEnumerable و IEnumerator مفيدة للغاية. ويوفر فهمًا واضحًا للواجهتين.
قدم هذا المنشور مقارنة شاملة وثاقبة للغاية بين IEnumerable و IEnumerator. إنه مرجع رائع للمطورين الذين يسعون إلى فهم الاختلافات بين الواجهتين.
يعد جدول المقارنة مفيدًا بشكل خاص لتوضيح الاختلافات بين IEnumerable وIEnumerator.
إن تقسيم IEnumerable و IEnumerator مفيد جدًا، خاصة لأولئك الذين يتعلمون C#. وأوضح جيدا وغنية بالمعلومات!
أوافق على أن هذا يوضح أي لبس حول الاختلافات بين الواجهتين.
هذا منشور غني بالمعلومات حول IEnumerable و IEnumerator. يُسهل جدول المقارنة فهم الاختلافات الرئيسية بين الواجهتين.
لا يمكن اقبل المزيد. يعد جدول المقارنة مرجعًا رائعًا لفهم الفروق الدقيقة بين IEnumerable وIEnumerator.
شكرًا لك على الشرح التفصيلي للاختلافات بين IEnumerable وIEnumerator. وأنا أقدر وضوح المقارنة الخاصة بك.
بالضبط، المقارنة الشاملة تجعل من السهل فهم وظائف كلا الواجهتين.
يعد تفصيل IEnumerable و IEnumerator ممتازًا - فهو يغطي الاختلافات الرئيسية بشكل شامل ويساعد في فهم وظائف كلتا الواجهتين.
لا يمكن اقبل المزيد. يوفر المنشور فهمًا واضحًا لـ IEnumerable و IEnumerator.