structs /Strukturen in C# im Vergleich zu C/C++
-
Sers COM,
ich stolpere gerade etwas beim Verständnis des struct-Spezifizierers in C#.
1.) Vererbung oder doch nicht?
Auf dieser Seite:
http://msdn.microsoft.com/de-de/library/0taef578%28v=vs.80%29.aspx
heißt es z.B.:Bei Strukturen findet keine Vererbung wie bei Klassen statt. Eine Struktur ist nicht in der Lage, von einer anderen Struktur oder Klasse zu erben, und sie kann auch nicht die Basis einer Klasse sein. Strukturen erben jedoch von der Object-Basisklasse.
Widerspricht sich das nicht irgendwie?
Wenn structs nicht dazu fähig sind zu erben, inwieweit können sie dann von der Basisklasse System.Object erben?Und hat sich da was im Vergleich zu C/C++ geändert?
Inwieweit unterscheidet sich C#-struct und C/C++-struct bzw. auch C#-class und C++-class?2.) Integrierte Datentypen nun struct oder class?
Weiter sehe ich auf dieser Seite zum integrierten Datentyp (http://msdn.microsoft.com/de-de/library/vstudio/ya5y69ds.aspx) System.Boolean:
http://msdn.microsoft.com/de-de/library/system.boolean.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1,
dass dieser Datentyp in C# ein struct ist und wenn ich auf C++ bzw. C++/CLI umschalte, aufeinmal class???
Ist denn C#-struct nun äquivalent zu C++-class geworden und struct um Sinne von C/C++-struct gibt es in C# nicht mehr?Ich danke vielmals im Voraus!
MfG
Schlitzauge
-
C++/CLI value class/struct: value type
C++/CLI ref class/struct: ref type
C# class: ref type
C# struct: value type
C++ class/struct: kann beides sein