What types should I use to pass collections in C#?