title: How to pass an operator as a parameter in a clean way?
body: <p>I would like to pass the &lt;= operator on doubles in a nice way</p>
  
  <p>for instance</p>
  
  <pre><code> var a = new double[] { 1.0, 2.0, 3.0 };
   var b = new double[] { 5.0, 1.0, 3.0 };
  </code></pre>
  
  <p>for instance, I can do this with the Math.Max function:</p>
  
  <pre><code>var c = a.Zip(b, Math.Max);
  </code></pre>
  
  <p>But for &lt;= operator on double I have to write:</p>
  
  <pre><code>var c2 = a.Zip(b, (double x, double y)=&gt; (x&lt;=y));
  </code></pre>
  
  <p>which is ugly compared to the Math.Max form.</p>
  
  <p>Is there a way to write this in one of the following clean ways:</p>
  
  <pre><code>1 - var c2 = a.Zip(b, (double operator &lt;=));
  2 - var c2 = a.Zip(b, Double.LessOrEqualTo);
  </code></pre>
  
  <p>?</p>
  
  <p>Thank you,
  J.</p>