Hvorfor ser vi det IEnumerable grensesnittet? Vi kan synes det er fantastisk, i generell programmering kan vi egentlig ikke tenke oss å bruke det, men som ordtaket sier, eksistens er sannheten, så hvilke fantastiske ting kan det gi oss? For å forstå det, la oss se på definisjonen! På MSDN, som det står, er det et offentlig enum som støtter enkle iterasjoner på ikke-generiske samlinger. Med andre ord, for alle array-traverseringer, fra IEnumerable, kan vi bruke denne funksjonen til å definere en vanlig metode som kan traversere arrays. For eksempel: offentlig statisk void Print (IEtallable myList) { int i = 0; foreach (Objekt obj i myList) { hvis (obj er Student)// Dette er vurderingen av type, hvor studenten er en klasse eller struktur { Student s=(Student)mål; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } hvis (obj er int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Ovenfor kan vi utføre flere if-dommer i for hver for å utføre tilsvarende operasjoner. En annen bruk av IEnumerable er i generiske uttrykk. Forespørsler i et array med et Lamda-uttrykk er som følger: Liste<string> over frukter = ny liste<string> { "apple", "passionfruit", "banana", "mango", "appelsin", "blåbær", "drue", "jordbær" }; Listesøk<string> = frukt. Hvor(frukt => frukt. Lengde < 6). ToList(); IEnumerable<string> query = frukter. Hvor(frukt => frukt. Lengde < 6); foreach (strengfrukt i søk) Console.WriteLine (frukt); Når det gjelder de to eksemplene ovenfor, tror jeg de fortsatt ofte brukes i vanlig programmering, vi kan like gjerne prøve... |