Existe algum método para criar um array dinâmico em C#?
Expandindo a resposta de Chris e Migol com uma amostra de código.
Usando uma matriz
Student[] array = new Student[2];
array[0] = new Student("bob");
array[1] = new Student("joe");
Usando uma lista genérica. Debaixo da capa a List
List<Student> list = new List<Student>();
list.Add(new Student("bob"));
list.Add(new Student("joe"));
Student joe = list[1];