در #C فرق اصلی که وجود داره این هستش که زمان ارسال به تابع struct کلا call by value هست بصورت پیش فرض مگر این که از ref استفاده کنید ولی class این جور نیست و پیش فرض call by refrence
و آره struct داخل Stack ذخیره میشه و class روی هیپ در C#
تفاوت سرعت هم بستگی پیدا می کنه به نحوه استفاده اگر قراره که struct بزرگ باشه و چیزای زیادی ذخیره کنه و زیاد هم به توابع پاس داده بشه چون هر بار کپی میشه کند تر از class هست . وگرنه برای چیزای کوچیک سریع تر هست مثلا برای ذخیره یک position که داخلش x,y هست struct مناسب تره .