How can I get rid of this goto?

Help! It's late and I don't see a good way to get rid of this goto construct:

private void advanceTheTimeCursor( Func<DateTime> nextTime, Action uponSuccessfulAdvancement) { loop: var t = nextTime(); if (t > reference) return; uponSuccessfulAdvancement(); pastToPresentCursor = t; goto loop; }

I kinda like it, but somebody said somewhere gotos are considered harmful...

Creative Commons License

Frank Quednau 2022