Rather than using side-effects, use the overload of Select which takes an index:
stuff.Select((value, index) => new { index, value.Name });
You could do it using side-effects, but not in the way you tried:
int counter = 0;
var query = from a in stuff
select new { count = counter++, a.Name };
I would strongly advise against this though.