webForumDet fria alternativet

Skilland mellan Structs och Classes

6 svar · 356 visningar · startad av Fraggel

FraggelMedlem sedan sep. 2003301 inlägg
#1

Som titeln lyder:

Vad är skillande mellan Complex Structs och en class i C#

Jag vet att en strukt är av typen value. Men när kör man en struct och när väljer man en class i stället.

Tips!

Eller är det något jag inte engaera mig i?

CompusaMedlem sedan jan. 20023 327 inlägg
#2

Structs har jag hört att man inte ska lägga allt för mycket krut på vad jag har läst ;) Som jag hittills har förstått det så använder man structs för att skapa sina egna datatyper. Exempelvis datatypen Month som bara tillåter heltalsvärden från 1 till 12.

Rätta mig om jag har fel...

PMedlem sedan jan. 20012 204 inlägg
#3

Är skillnad hur de sparas, och lite annat också iof. Man kan tex inte ärva från structs som man kan med klasser. När du skapar en struct så kommer den att sparas i minnet men om du skapar en klass kommer du att spara en reference i "heapen", vad det nu heter på svenska. En viss prestandardvinst att använda structs istället för klasser alltås...

FraggelMedlem sedan sep. 2003301 inlägg
#4

Okej!

Jag hittade i dag ett "vettiga" anv omr för Complex Struct. Då den är Value, slipper man problemet att "kompmentera" datan i en function. Tex om du använder dig av den för att bygga ett API eller en utskrifts rutin motsv. Men i överig så verkar det vara waste of time att grotta ner sig mer i den.

Prestand vinst säger du, är det inte så att Complex Struct tar mer i minne äv vad en class med samma innehåll tar!

NickemannenMedlem sedan aug. 20003 575 inlägg
#5

Structen tror jag ligger kvar rätt mycket från C där inte objekt finns.

Istället för arv i structs så kan du ju lägga en struct i en struct.

Du kan ju inte heller ha funktioner i en struct utan bara lagring av data.

// red wopps trodde det var i C/C++ tråden jag skrev i..

GladhMedlem sedan maj 20012 812 inlägg
#6

...

- M

FraggelMedlem sedan sep. 2003301 inlägg
#7

En Struct kan inte innehålla annat än data i C# heller men det finns en form av kvasi vaiant av densamma Complex Struct som är någon form av class lajt.

139 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)