Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Granatapfel

Treue Seele

  • »Granatapfel« ist der Autor dieses Themas

Beiträge: 184

Wohnort: Chemnitz

Beruf: Schule

  • Private Nachricht senden

1

23.09.2010, 19:02

C++ in C#...Gibt es in C# etwas Union ähnliches?

Hallo.
Ich bin gerade dabei in einem C# Projekt eine Klasse zu schreiben, welche mit Koordinaten aller Art umgeht.
Nun möchte ich mehrere Strukturen in ein "Container" zusammenfassen. In C++ hab ich das immer mit einer Union gemacht, aber die gibt es hier nicht.
Was soll ich dann machen, oder kann ich die Strukturen auch "lose" in der Klasse stehen lassen?
Danke.
Ich hab gestern deine Eltern gesehen.
Warn' 2 nette Kerle.

________________________________

http://www.youtube.com/user/MsKENNYster

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

23.09.2010, 19:05

Nimm doch einfach etwas für das interne und dann biete die anderen Sachen als Schnittstelle an. Du musst dich intern nur um etwas kümmern und der Benutzer kann dann nehmen was er will.

btw:
Ich würde sowas auch in C++ nicht mit Unions lösen.

Granatapfel

Treue Seele

  • »Granatapfel« ist der Autor dieses Themas

Beiträge: 184

Wohnort: Chemnitz

Beruf: Schule

  • Private Nachricht senden

3

23.09.2010, 19:09

Das wäre beim aufrufen dann aber Aufwändiger.
Deswegen hab ich ja immer Unions benutzt.
Vielleicht hab ich aber eine Möglichkeit übersehen.
Warum keine Unions? ?(
Ich hab gestern deine Eltern gesehen.
Warn' 2 nette Kerle.

________________________________

http://www.youtube.com/user/MsKENNYster

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

4

23.09.2010, 19:31

Unions gibts nicht direkt, aber das Verhalten kannst du über das strukturlayout selber bestimmen

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
[StructLayout(LayoutKind.Explicit)]
public struct MyUnion
{
   [FieldOffset(0)]
   public int Integer;

   [FieldOffset(0)]
   public short High;

   [FieldOffset(2)]
   public short Low;
}

Werbeanzeige