Apply a function to lists using .Zip C#
<p>I have three arraysof the same length from which I would like to extract the maximum/minimum (or apply any other function <strong>Fct</strong> ) using the .Zip optionality, could anyone help me do that in a clean way?</p>

<pre><code>double [] x = new  double []  {1,3,5,6,6};
double [] y = new  double [] {5,6,8,3,4} ;
double [] z = new  double  [] {9,4,10,0,8} ;
double []  result = z.Zip(x.Zip(y, (a, b) =&gt; Math.Max(a, b)).ToList(), (c, maxab) =&gt; Math.Max(c, maxab)).ToArray();

{double[5]}
[0]: 9.0
[1]: 6.0
[2]: 10.0
[3]: 6.0
[4]: 8.0
</code></pre>

<p>My question is : is there any way to do a <strong>Fct (a,b,c)</strong> instead of doing it twice : <strong>Fct (a,b)</strong> then <strong>Fct ( Fct (a,b),c)</strong> when Fct is not necessarily splittable in that sens.  </p>
