c# - GetEnumerator: return or yield return -
my class implements ienumerable. , these 2 ways code getenumerator method can compiled:
public ienumerator getenumerator() { yield return database[id].getenumerator(); }
and
public ienumerator getenumerator() { return database[databaseid].getenumerator(); }
where database[id] list. difference between these implementations?
the reason compiles because being unclear enumerable is. if make generic becomes more obvious:
public ienumerator<foo> getenumerator() { return database[id].getenumerator(); }
vs
public ienumerator<ienumerator<foo>> getenumerator() { yield return database[id].getenumerator(); }
your yield return
version not yielding result: yielding the iterator - iterator-of-iterators, enumerator-of-enumerators. , not in way. basically, "don't that".
Comments
Post a Comment