I was wondering which type would have better performance and which you think should be used.
For example I have a List of strings not knowing how many items I will need so having the .Add(String) function is really convenient. I can Add new strings to the list at any time easily.
What are the advantages/disadvantages of using each?
Are lists the new arrays?
List<T>with a specific capacity the same way you do with an array. If you know the size in advance, it doesn't matter which one you use, and if you don't know the size in advance as the question clearly states, then you really can't use an array. If you have evidence that arrays offer "much" better read performance, please post an answer with that evidence.