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 است، بنابراین سریع تر از یک کلاس است. از ساختارها در مواردی که می خواهید تنها یک داده را ذخیره کنید استفاده کنید
مطلبی دیگر از این انتشارات
مهمترین درس هایی که بعد از سال ها کار با React یاد گرفتم
مطلبی دیگر از این انتشارات
تست نفوذ به سرور اپ های اندرویدی
مطلبی دیگر از این انتشارات
جایگاه دانشگاه برای کار در رشته کامپیوتر