Usually my methods are as the following:
public List Method1(int input) { var output = new List(); //add some items to output
It depends.
Do you want the caller to be able to modify the items and for you to see those changes? Arrays can be modified. The IList interface defines methods for modification (but the implementation may not allow it).
Can you elaborate on the FxCop warning?
Kent