سلام و روز خوشسلام
خوب رفتار متد Array.Resize چطوره؟
این ، متد Array.Resize هست :
از دید کلی همین که یک متد یا تابع یا ویژگی یا دیتاتایپ و ... مستقیم توسط کامپایلر پشتیبانی میشه کافی هست و این که چه سازوکار درونی داره در نگاه اول مهم نیست.
اینجا هم همین که array.size و redim preserve هست و داکیومنت هم شده دیگه نمیتونیم حکم بدیم که آرایه اندازه اش ثابت هست.
چیزی که نظر من بود همین هست که این حکم دادن نادرسته.
ولی:
میتونیم از دید پرفورمنس بگیم اگه اندازه مجموعه دیتا قرار هست متغیر باشه (بخصوص در حلقه های بزرگ) بهتره از آرایه استفاده نکنیم
یا
آرایه برای دیتا با اندازه ثابت مناسبه.
به هر حال حتی کامپایلر سی استاندارد هم چند مرحله ای نوشته میشه، یعنی اول فقط یک بخش خیلی محدود اولیه از زبان رو پشتیبانی میکنه،
بعد با اون کامپایلر اولیه بخشهای جدیدتر اضافه میشه و در هر مرحله هم کامپایلر جلو میره تا نهایی بشه.