Tach!
Wenn man an der Console.Write("C"); Zeile einen Breakpoint setzt, hat man sofort die Ausgabe ABAB. Die Ausgabe nach der F5 wird dann so aussehen: ABABCA1B2. Ohne Breakpoint aber CA1B2.
Hmm, dann schreibt der Debugger wohl doch in die Konsole, die du siehst.
Ich hab das mal überprüft. Das AB kommt nur vorn dran, wenn du im Debugger nachschaust und dazu auf die zwei Kreispfeile klickst, die vor dem Hinweis stehen: "Expanding the Results View will enumerate the IEnumerable". Dieser Hinweis steht da ja nicht umsonst, denn das Enumerieren kann Nebenwirkungen haben, so wie in deinem Fall. Dass du zweimal AB siehst, liegt daran, dass du zweimal nachgeschaut hast. Du hast damit einen Schrödingers-Katze-Effekt. Wenn du nachschaust, beeinflusst du das Experiment und machst es kaputt.
dedlfix.