متى تستخدم `struct` بدلاً من `class` في C#؟ نفهم أنواع القيم
```html
Всем привет! Я недавно начал изучать C# и постоянно путаюсь, когда нужно выбирать между struct и class. Вроде бы они похожи — и там, и там можно объявить поля, методы, свойства. Но я слышал, что struct — это тип-значение, а class — ссылочный тип, и это сильно влияет на производительность.
У меня есть конкретная задача: я пишу небольшой 2D-движок для игр. У меня есть структура Point с координатами X и Y. Сейчас она объявлена как class:
```csharp
public class Point
{
public int X { get; set; }
public int Y { get; set; }
public Point(int x, int y)
{
X = x;
Y = y;
}
}
```
Всё работает, но я создаю тысячи таких точек каждый кадр, и приложение начинает тормозить. Друг посоветовал заменить class на struct, чтобы ускорить работу. Но я боюсь, что это сломает код, потому что struct ведёт себя по-другому при копировании.
Когда вообще стоит использовать struct? Есть ли какие-то чёткие правила? И что будет, если я просто заменю слово
```