Struct
Structs är som klasser men skiljer sig på en viktig punkt: de är value types snarare än reference types.
Hero h1 = new() { Name = "A1" };
Hero h2 = h1; // h2 blir en KOPIA av h1, inte en pekare till samma objekt
h2.Name = "A2";
Console.WriteLine(h1.Name); // Så när namnet på h2 byts, så påverkas inte h1.
Console.WriteLine(h2.Name);
struct Hero
{
public string Name;
}
Den generella regeln som rekommenderas i C# är:
Klasser om du vill inkludera beteende eller ha innehåll som förändras (lätt att låta flera delar av programmet arbeta med samma objekt).
Structs för små objekt, utan speciellt mycket beteende och med ganska oföränderlig data.
Arbetar man med structs finns risk att man använder mer minne – eftersom man gör kopior av structen varje gång den överförs någonstans.
Last updated
Was this helpful?