Entwickler-Ecke

C# - Die Sprache - Boxing und Unboxing


zero_x - Fr 25.01.08 16:03
Titel: Boxing und Unboxing
Hallo liebes Forum,

In C# gibt es die Beiden Befehle Boxing und Unboxing. Bei diesen Beiden gibt es hin und wieder Klammern. Hier mal ein Beispiel:


C#-Quelltext
1:
2:
int i = 123;
object o = (object)i;  // boxing


Wieso verwendet man die Klammern? Was macht das für einen Sinn? Wann verwent man das?


Vielen Dank schon im Voraus! ;)


MfG
Zero_x

Nachtrag: Die Frage ist aus meinen letzen Thread kopiert, da es geschlossen wurde. Die weitern Fragen sind unter: http://www.c-sharp-forum.de/forum_Allgemeine+NETFragen_58.html verschoben. Den Sinn vom Moderator versteh ich auch nicht!


JüTho - Fr 25.01.08 16:23

Puhhh... Das ist eigentlich viel zu kompliziert, um es in Forumsbeiträgen zu erläutern.

Es geht darum, dass Objekte (nämlich Instanzvariablen) von einem Typ in einen anderen konvertiert werden müssen oder umdeklariert werden sollen, damit man auf bestimmte Eigenschaften zugreifen kann.

Beispiel: Als object bietet eine int-Zahl nur die Standardmethoden jeder Klasse. Als int steht u.a. MinValue und MaxValue zur Verfügung.

Stichworte in diesem Zusammenhang sind auch cast, as, is. Grundlegende Erläuterungen findest Du z.B. in OpenBook C# [http://www.galileocomputing.de/openbook/csharp/].

Und die Frage der Klammerung ist doch etwas so Grundsätzliches in jeder Programmiersprache (beginnend beim Mathe-Unterricht der 5./6. Klasse), dass sich eine allgemeine Antwort sowieso verbietet.

Jürgen

Ergänzung: Schelte am Moderator ist völlig fehl am Platze. Jede Diskussion darf/soll sich nur mit einem Problem befassen; und Christian hat das hier [http://www.c-sharp-forum.de/viewtopic.php?p=484617#484617]auch klar begründet:
Zitat:
Bitte erstelle für jede Deiner Fragen einen eigenen Thread. Zum einen gibt das sonst ein ziemliches durcheinander (Wer antwortet gerade auf was?), zum anderen passt dann auch der Titel nicht nur zu einem Drittel des Themas

Meine Ergänzung dazu: Auch die Suchfunktion wird durcheinander gebracht. Wer erwartet denn, dass unter der Überschrift "Boxing" etwas zum "Heap" steht?

Und mit Deinem zweiten Versuch der Frage liegst Du immer noch daneben - zwei Fragen, die (fast) nichts miteinander zu tun haben, gehören nun einmal nicht zusammen.