Je ne comprends pas comment le courant peut être nul et le dernier peut être un objet tout en étant une fonction LINQ. Je pensais que Last utilise GetEnumerator et continue jusqu'à current == null et renvoie l'objet. Cependant, comme vous pouvez le voir le premier GetEnumerator(). Current est nul et dernier renvoie en quelque sorte un objet.Comment linq Last() fonctionne-t-il?
Comment linq Last() fonctionne-t-il?
var.GetEnumerator().Current
var.Last()
Vous confondez des séquences avec leurs énumérateurs. Imaginez un livre avec des pages numérotées. C'est une séquence. Imaginez un signet, en marquant une page particulière. C'est un énumérateur. Vous pouvez avoir une centaine de signets dans un livre si vous le souhaitez, tout en marquant différents endroits. Appel de GetEnumerator.Current demande la page sur laquelle un signet est activé lorsque vous ne l'avez pas encore mis dans le livre; Ne fais pas ça. –