title: Help to implement a ZipWithRatio extention method
body: <p>I'm trying to find a elegant way to write a extention method that might be called MergeWithRatio or ZipWithRatio.</p>
  
  <p>I expect it to have this signature..</p>
  
  <pre><code>public static IEnumerable&lt;T&gt; MergeWithRatio&lt;T&gt;(this IEnumerable&lt;T&gt; source, IEnumerable&lt;T&gt; mergeSequence, int ratio)
  {
    ..
  }
  </code></pre>
  
  <p>Example first.</p>
  
  <pre><code>var source   = new[]{1,2,3,4,5,6,7,8,9};
  var mergeSeq = new[]{100,200};
  var result = source.MergeWithRatio(mergeSeq, 3).ToArray();
  </code></pre>
  
  <p>result now contains [1, 2, 100, 3, 4, 200, 5, 6, 100, 7, 8, 200, 9]</p>
  
  <p>Summing up: 
  The mergeSeq is looped when/if finished and the yielding stops when 'source' is empty.</p>
  
  <p>If possible I would prefere if the solution was lazy but it is not a requirement.</p>
  
  <p>Any ideas or pointers?</p>