I often use an ArrayList instead of a \'normal\' array[].
I feel as if I am cheating (or being lazy) when I use an ArrayList,
In addition to Bob's and Frederick's response, I would like to point it out that while arrays have covariance, generic lists do not. For example, an array of type MyChildClass[] can be easily casted to MyParentClass[], while List cannot be casted to List, at least not directly.
If you need covariance, either use arrays, use LINQ's Cast() method or some other means to cast each item individually or wait for C# 4.