Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 17820|Svar: 0

[Kilde] Den type interface eller metode, der kan gennemføres med foreach, skal implementeres.

[Kopier link]
Opslået på 26/09/2015 10.37.46 | | |
Svar: Objekter, der kan gennemsøges af foreach, skal være samlings- eller array-objekter, som er af den type, der implementerer superinterface-IEnumerator eller den deklarerede GetEnumerator-metode
Q:
Men når jeg normalt bruger Foreach In, bruger jeg det direkte, og der er ikke noget problem. Må jeg spørge, hvorfor det er sådan? Hvis du vil implementere typen af superinterfacet IEnumerator eller den erklærede GetEnumerator-metode, som der er spurgt i spørgsmålet, hvad skal du så gøre? Tak
Svar: Når vi bruger foreach i, bruger vi normalt en systemdefineret samlingsklasse (implementering af ICollection-interfacet). For eksempel arrayList, stringDictionary, array osv. Disse pakkes af platformen og er tæt på at implementere IEnumerator-grænsefladen. For at den klasse, du skriver, kan foreach samtidig, skal du implementere interfacet, når du skriver klassen. Dette muliggør hver efterfølgende gennemfart. For eksempel definer en klasse af personer og implementer IEnumerator-grænsefladen. Hvis der er et array People[] tempPeople, kan du bruge: foreach( p i tempPeople){ console.writeline(p.name); Dette eliminerer besværet med at bruge for-løkker. Hvad angår hvordan man implementerer Iemumerator-interfacet. Tjek bare MSDN. Du kan også kigge efter en tykkere bog.





Tidligere:Interviewalgoritmespørgsmål 1, 1, 2, 3, 5, 8, 13, 21, 34...... find ud af, hvad det 30. ciffer er, og brug en rekursiv algoritme til at finde ud af det
Næste:Hvad er oprindelsen til de mørke skyer, der brød ud af Ctrip og andre lækager?
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com