title: Best practice when returning an array of values (.NET)
body: <p>Usually my methods are as the following:</p>
  
  <pre><code>public List&lt;int&gt; Method1(int input)
  {
      var output = new List&lt;int&gt;();
      //add some items to output
      return output;
  }
  </code></pre>
  
  <p>But FxCop advises another IList implementation instead of List, but I can't remember which. The alternatives include returning it as an IList, ICollection or IEnumerable for more flexibility or a whole different way as the code below.:</p>
  
  <pre><code>public int[] Method2(int input)
  {
      var output = new List&lt;int&gt;();
      //add some items to output
      return output.ToArray();
  }
  </code></pre>
  
  <p>Of all alternatives, all provided and all possibilities, which is considered the best practice?</p>