Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 17820|Odpoveď: 0

[Zdroj] Je potrebné implementovať typ rozhrania alebo metódy, ktorú je možné prejsť pomocou foreach.

[Kopírovať odkaz]
Zverejnené 26. 9. 2015 10:37:46 | | |
Odpoveď: Objekty, ktoré môže foreach prechádzať, musia byť objekty kolekcie alebo poľa, ktoré implementujú superinterface IEnumerator alebo deklarovanú metódu GetEnumerator
Q:
Ale keď zvyčajne používam foreach in, používam ho priamo a nie je žiadny problém. Môžem sa opýtať, prečo je to tak? Ak chcete implementovať typ super rozhrania IEnumerator alebo deklarovanej metódy GetEnumerator, ako je uvedené v otázke, čo by ste mali urobiť? Ďakujem
Odpoveď: Pri používaní foreach in zvyčajne používame systémovo definovanú triedu kolekcií (implementujúcu rozhranie ICollection). Napríklad arrayList, stringDictionary, array a podobne. Tieto sú zabalené platformou a sú blízko implementácie rozhrania IEnumerator. Aby trieda, ktorú píšete, mohla byť foreach súčasne, musíte implementovať rozhranie pri písaní triedy. To umožňuje následné prechádzanie po každom kroku. Napríklad definujte triedu ľudí a implementujte rozhranie IEnumerator. Ak existuje pole People[] tempPeople, môžete použiť: foreach( p in tempPeople){ console.writeline(p.name); Tým sa eliminuje problém s používaním for loops. Čo sa týka implementácie rozhrania Iemumerator. Stačí skontrolovať MSDN. Môžete tiež hľadať hrubšiu knihu.





Predchádzajúci:Otázky z algoritmu pohovoru 1, 1, 2, 3, 5, 8, 13, 21, 34...... zistite, čo je 30. číslica, a použite rekurzívny algoritmus na zistenie
Budúci:Aký je pôvod tmavých oblakov, ktoré sa vyliali z Ctripu a ďalších únikov?
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com