Enumerator vs Iterator
De fleste er nok bekendt med at .Net undersøtter den dejlige foreach-syntaks, som under kølerhjelmen benytter sig af en Enumerator.Men nu har jeg studset lidt over, hvorfor at MS har valgt at kalde det et enumerator når at det i Java hedder en iterator.
Ved at enumerere må vel forstås at man kører igennem i numerisk rækkefølge, 1-2-3-4-5, mens at man, når man iterere, ikke går efter nogen logisk indexering.
Man itererer f.eks. over de forskellige keys i en HashTable.
Men nu er det bare sådan, at et IEnumerator-object, ikke behøves at gå slavisk efter nummeringsindekseringen. Man kan f.eks. hoppe fra index 1 til 6 og tilbage til 4 (selvom det nok vil give en ret træls foreach-løkke.
Så mit spørgsmål er egentlig. Hvorfor har MS konsekvent valgt at bruge ordet Enumerator og Enumerable, når det i Java hedder Iterator.
