سلام ، هدفتون از کار با متد Array.Resize چی هستش ؟ چون که نمی تونید سایز آرایه ها رو تغییر بدین . این متد هم برخلاف اسمش آرایه رو تغییر سایز نمیده . کاری که انجام میده اینه که در پشت صحنه یک آرایه با سایزجدید میاد ایجاد می کنه و محتوای آرایه قبلی رو به آرایه جدید انتقال میده و سپس آرایه قبلی رو از حافظه حذف می کنه .
به نظر بنده بهتره که با کلاس List بیاین کار کنید .
List<string> names = new List<string>(10); // initial length is 10
در کد بالا یک لیست با 10 خانه ایجاد میشه . یعنی سریعا حافظه اشغال میشه و بعدا کمبود حافظه تاثیری روش نداره . ثانیا کار باهاش هم خیلی راحته و متدهای جالبی نظیر حذف یک خانه ، اضافه کردن آیتم جدید ، جستجو و... رو داره که کاملا نیاز شما رو برطرف می کنه .
کار با کلاس Array.Resize :
int[] array1 = new int[5] { 1, 2, 3, 4, 5 };
Array.Resize(ref array1, 20);
for (int i = 0; i < array1.Length; i++)
{
Console.WriteLine(" [{0}] : {1}", i, array1[i]);
}
Console.ReadLine();
و خروجیش به شکل زیر هستش :
موفق باشید.