You can use the length of the resas variable to decide which side to add
items.Aggregate(string.Empty, (res, c) => res.Length % 2 == 0 ? c + res : res + c);
An alternative solution would be zipping with a range
items.Zip(Enumerable.Range(0, items.Length), (c, i) => new {C = c, I = i})
.Aggregate(string.Empty, (res, x) => x.I % 2 == 0 ? x.C + res : res + x.C)
EDIT: not needed ToCharArray...
source
share