سلام . میتونی از لیست استفاده کنی . طولش مشخص نیست و هر لحظه میتونی مقداری که میخوای رو بهش Add کنی و با ایندکس به هر خونش دسترسی پیدا کنی و همچنین میتونی همین لیست رو به آرایه تبدیل کنی.فکر میکنم این چیزی باشه که به دردت میخوره البته راه های دیگری هم وجود دارد. یه مثال برات میزنم ببین :
List<int> myDynamicArray = new List<int>();
myDynamicArray.Add(5);
myDynamicArray.Add(8);
Console.WriteLine(myDynamicArray[1]);
Console.ReadLine();
من اعداد 5 و 8 رو به صورت دستی بهش Add کردم و بعد با اندیس به خونه شماره 1 دسترسی پیدا کردم . و میتونی با دستور زیر این لیست رو به آرایه تبدیل کنی.
int[] myArray = myDynamicArray.ToArray();