Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 17820|Відповідь: 0

[Джерело] Тип інтерфейсу або методу, який можна обходити за допомогою foreach, потрібно реалізувати.

[Копіювати посилання]
Опубліковано 26.09.2015 10:37:46 | | |
Відповідь: Об'єкти, які можна обійти foreach, мають бути об'єктами колекції або масиву, які належать до типу, що реалізує суперінтерфейс IEnumerator або оголошений метод GetEnumerator
Q:
Але коли я зазвичай використовую Foreach in, я використовую його напряму, і проблем немає. Можна запитати, чому так? Якщо ви хочете реалізувати тип суперінтерфейсу IEnumerator або оголошений метод GetEnumerator, як запитано у питанні, що вам слід робити? Дякую
Відповідь: При використанні foreach in ми зазвичай використовуємо клас колекції, визначений системою (реалізуючи інтерфейс ICollection). Наприклад, arrayList, stringDictionary, array тощо. Вони упаковані платформою і близькі до реалізації інтерфейсу IEnumerator. Щоб клас, який ви пишете, міг одночасно працювати, ви повинні реалізувати інтерфейс під час написання класу. Це дозволяє проходити форіч після операції. Наприклад, визначити клас людей і реалізувати інтерфейс IEnumerator. Якщо існує масив People[] tempPeople, тоді можна використовувати: foreach( p in tempPeople){ console.writeline(p.name); Це усуває проблеми з використанням циклів for. Щодо того, як реалізувати інтерфейс Iemumerator. Просто перевірте MSDN. Можна також шукати товстішу книгу.





Попередній:Питання алгоритму співбесіди 1, 1, 2, 3, 5, 8, 13, 21, 34...... дізнайтеся, що таке 30-та цифра, і використовуйте рекурсивний алгоритм, щоб дізнатися
Наступний:Яке походження темних хмар, що вирвалися з Ctrip та інших витоків?
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com