C# 动态结构体数组怎么创建啊?

大学暑假编程实训刚学习C#,有个问题不明白,想请教一下。
我建立了一个结构体,然后创建这个结构体的数组,但是一开始不知道这个数组到底有多少个下标,所以想建立动态数组,请问一个应该怎么做了?

public struct PhoneNum
{
    public string department;
    public string phone;
}

……

PhoneNum[] test1 = new PhoneNum[10];

现在就是想把这个test1能变成动态数组那样,先不声明有多少个,等我用的时候再一个个加。

using System.Collections;

static void Main()
{
List<PhoneNum> test1= new List<PhoneNum>();
test1.Add(new PhoneNum());
}

.net类库里的类型比MFC里的类型要多
既然你学的是C#而不是C++,那你要把这些类型利用起来
如果你用C++,就只能自己定义链表了
尽量别用ArrayList,ArrayList里面每个元素都是object类型,用之前要强制转换不说,还容易把不相干的类型add进去
C#是强类型的编程语言,利用好这个特性,很多bug就可以在编译阶段排除
乱用object你就只好自己慢慢debug

定义一个ArrayList就可以

可以考虑使用容器

vector<PhoneNum>

也可以使用数组列表Arraylist吧