Can I reshape that code using foreach and initial declaration
===

I have to set a property which expects to get an array hence I need an array of instances of class X, as follow:

    X[] x = new X[]
    {
      new X () { Parameter = parameter },
      new X () { Parameter = parameter2 }
      // ...
    }

Since the parameter are generated while runtime and stored in a list, the instances should be created dynamically. I get my intended aim with that code

    X[] x = new X[list.Count];
    for (int i = 0; i < list.Count; i++)
    {
      x[i] = new X() { Parameter = list.ElementAt(i) }
    }

These lines do their job, however, I'm not satisfied with these lines. I'd like to change some things, i.e. code which looks like that Pseudo-Code

    X[] x = new X[]
    {
      foreach (var item in list)
      {
        new X () { Parameter = item }
      }
    }

This code, however, will not work. Is there a way to implement such a code?