I have the following code to duplicate the members of a list X times.
Although it works it doesn\'t feel particularly clean.
Live code example:
Splitting the two components...
var parts = source.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var serviceEndPoints = (from i in Enumerable.Range(0, instances * parts.Length)
let j = i / instances
let part = parts[j]
select new ServiceEndPoint { Index = j, Uri = part }).ToList();
or...
var parts = source.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
var serviceEndPoints2 = (from i in Enumerable.Range(0, parts.Length)
let part = parts[i]
from j in Enumerable.Range(0, instances)
select new ServiceEndPoint { Index = i, Uri = part }).ToList();
It's very similar to two for one inside the other :-)