If you know that you will have more than 100 items, the second is faster.
Each time it "doubles", it must copy the contents of the entire existing array. For large lists, this can be slow.
If you specify a capacity, it will not change at all until it becomes larger than you indicated.
If you never add more than 100 elements, it just takes up a bit of memory (in particular, IntPtr.Size * (Capacity - Count)
)
source share