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