Senior back-end developer | ProjectManager
تفاوت ساختار ها (struct) و کلاس(class)
گاهی برنامه نویس باید صدها نمونه از یک شی رو در حافظه ذخیره کند که این کار با استفاده از کلاس یا ساختار(struct) قابل حل است.
ساختار:
یک ساختار فقط داده را شامل می شود و برخلاف کلاس، فاقد توابع است*
برای دسترس عمومی تعریف میشود**
اصلا نمیتواند ارث بری کند***
مثال کاربردی و مهم:
public class PointClass
{
public int X { get; set; }
public int Y { get; set; }
}
public struct PointStruct
{
public int X { get; set; }
public int Y { get; set; }
}
public class StructWithClassTest
{
const int length = 100000;
[Benchmark]
public void ListCalssTest()
{
var items = new List<PointClass>(length);
for (int i = 0; i < length; i++)
{
items.Add(new PointClass() { X = i, Y = i });
}
}
[Benchmark]
public void ListStructTest()
{
var items = new List<PointStruct>(length);
for (int i = 0; i < length; i++)
{
items.Add(new PointStruct() { X = i, Y = i });
}
}

همان طور از تصویر پیداست ساختار ها سرعت بیشتری دارند
نکته:
ساختار value type است، بنابراین سریع تر از یک کلاس است. از ساختارها در مواردی که می خواهید تنها یک داده را ذخیره کنید استفاده کنید
مطلبی دیگر از این انتشارات
تجربه یک شکست سنگین در کسبوکار
مطلبی دیگر از این انتشارات
بررسی اجمالی HTML + پادکست طنز
مطلبی دیگر از این انتشارات
بررسی برنامه نویسی و زبان های برنامه نویسی مختلف در دنیای امنیت سایبری