title: using an Array type as a Parameter Expression
body: <p>When declaring a parameter expression, for example:</p>
  
  <pre><code>ParameterExpression x = Expression.Parameter(typeof(double),"x");
  </code></pre>
  
  <p>You can then use this parameter to construct Lambda expressions:</p>
  
  <pre><code>Expression Lowerbound = Expression.Constant(0.0,typeof(double));
  
  Expression GreaterThanorEqual = Expression.GreaterThanOrEqual(x, Lowerbound);
  
  Expression TestExpression = Expression.Lambda(GreaterThanorEqual,x);
  
  Console.WriteLine(TestExpression.ToString());
  
      // returns x =&gt; (x &gt;= 0)
  </code></pre>
  
  <p>I now need a way to construct expressions of the form</p>
  
  <pre><code>x =&gt; (x[0] &gt;= 0)
  x =&gt; (x[1] &gt;= 0)
  x =&gt; (x[2] &gt;= 0)
  ... et cetera
  </code></pre>
  
  <p>I cannot, however, find a way to define a parameter</p>
  
  <pre><code>Expression.Parameter(typeof(double[]),"x");
  </code></pre>
  
  <p>array as one Parameter</p>
  
  <p>and then </p>
  
  <pre><code>Expression.Parameter(typeof(double),"x["+i+"]");
  </code></pre>
  
  <p>As another</p>
  
  <p>is there a way to define a Parameter that has a <code>Type</code> of <code>double[]</code> ?</p>