C# में struct का उपयोग कब करें class के बजाय? मूल्य प्रकारों को समझना
सभी को नमस्कार! मैंने हाल ही में C# सीखना शुरू किया है और मुझे लगातार भ्रम होता है कि struct और class के बीच कब चुनना है। वे समान लगते हैं — दोनों में fields, methods, properties घोषित की जा सकती हैं। लेकिन मैंने सुना है कि struct एक value type है, जबकि class एक reference type है, और यह performance को बहुत प्रभावित करता है।
मेरे पास एक विशिष्ट कार्य है: मैं गेम के लिए एक छोटा 2D engine लिख रहा हूँ। मेरे पास X और Y coordinates के साथ एक Point structure है। अभी इसे 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;
}
}
```
सब कुछ काम करता है, लेकिन मैं हर frame में हज़ारों ऐसे points बनाता हूँ, और application धीमी होने लगती है। एक मित्र ने class को struct से बदलने की सलाह दी ताकि काम तेज़ हो। लेकिन मुझे डर है कि इससे कोड टूट जाएगा, क्योंकि struct copy करने पर अलग व्यवहार करता है।
struct का उपयोग कब करना चाहिए? क्या कोई स्पष्ट नियम हैं? और अगर मैं सिर्फ शब्द बदल दूं तो क्या होगा?