Listas são um exemplo de classes genéricas. Você também vai ver HashSet<T> e Dictionary<T> nos primeiros exercícios.
Se você precisar de uma lista com tipos diferentes, pode usar List<Object>, mas vai precisar converter para o tipo mais específico os elementos que acessar da lista.
Fique atento também a System.Collections.List, que você pode encontrar em código legado. Para todos os efeitos, ele se comporta como List<Object>.