Avatar ·

متى تستخدم `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? Есть ли какие-то чёткие правила? И что будет, если я просто заменю слово ```