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?
More context is really required to answer the question properly:
In a public API, you should try to use abstract collection types, so that you can change the internal implementation later if you need to.
IEnumerable<T>.ICollection<T>.IList<T>.In a private implementation, it’s not as important to use the abstract types:
T[]orList<T>.List<T>.Stack<T>.Queue<T>.LinkedList<T>.HashSet<T>.In .NET 4.0 you have a few more choices, but those are the basics.