Is there a more succinct Linq expression for inserting a constant between every item in a list? <p>Here's what I have at the moment:</p> <pre><code>public List&lt;double&gt; GetStrokeDashArray(List&lt;double&gt; dashLengths, double gap) { return dashLengths .SelectMany(dl =&gt; new[] { dl, gap }) .Take(dashLengths.Count * 2 - 1) .ToList(); } </code></pre> <p>Results for <code>GetStrokeDashArray(new List&lt;double&gt; { 2, 4, 7, 11, 16 }, 2);</code></p> <pre><code>2, 2, 4, 2, 7, 2, 11, 2, 16 </code></pre>