Perché vediamo l'interfaccia innumerabile, potremmo pensarla incredibile, in programmazione generale, fondamentalmente non riusciamo a pensare di usarla, ma come si dice, l'esistenza è la verità, quindi quali cose meravigliose può portarci? Per capirlo, diamo un'occhiata alla sua definizione! Su MSDN, come si dice, è un enum pubblico che supporta semplici iterazioni su collezioni non generiche. In altre parole, per tutte le attraversamenti di array, da IEnumerable, possiamo usare questa caratteristica per definire un metodo comune che possa attraversare array. Per esempio: empty statico pubblico Stampa(IEnumerable myList) { int i = 0; foreach (Oggetto obj in myList) { se (obj è Studente)// Questo è il giudizio di tipo, dove lo studente è una classe o struttura { Studente s=(Studente)obj; Console.WriteLine("\t[{0}]:\t{1}", i++, s.Sname); } se (obj è int) { Console.WriteLine("INT:{0}",obj); } } Console.WriteLine(); } Sopra, possiamo eseguire più giudizi if in foreach per eseguire operazioni corrispondenti. Un altro uso di IEnumerable è nei generici. La query in un array con un'espressione lamda è la seguente: <string> Frutti elenco = nuova lista<string> { "mela", "frutto della passione", "banana", "mango", "arancia", "mirtillo", "uva", "fragola" }; Query di lista<string> = frutti. Dove (frutto => frutto. Lunghezza < 6). ToList(); Cioè<string> query innumerabile = frutti. Dove (frutto => frutto. lunghezza < 6); foreach (frutto stringa nella query) Console.WriteLine(frutto); Per quanto riguarda i due esempi sopra, penso che siano ancora spesso usati nella programmazione ordinaria, tanto vale provare... |