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?
6 svar · 356 visningar · startad av Fraggel
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?
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...
Ä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...
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!
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..
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.