Earlier on FAIC I asked for code that parses as an expression that produces different results for
s = s + expr;
and
s += expr;
This is a pretty easy puzzle; the answers posted in the comments could largely be grouped into two buckets. The first, which is a bit silly, are expressions which always produce a different value, so of course they produce different results in those two cases.
s = s + Guid.NewGuid();
produces a different result than
s += Guid.NewGuid();
but then again, it also produces different results every time you call
s += Guid.NewGuid();
so that’s not a particularly interesting answer.