ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
293
293
EMPFEHLEN
-
Hi,
da ich noch recht neu bin und schon des oefteren ueber diesen Begriff gelesen haben aber nicht genau weiß was er bedeutet frage ich Euch.
Also was ist der Sinn dahinter ?
gruss neral
-
27.08.04 18:55 #2
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Hallo.
Zum Beispiel die Klasse ArrayList, ihre Add Methode fordert einen Parameter vom Typ Object.
Jetzt könnte man annehmen das wir, wenn wir etwas in der ArrayList speichern wollen, zuerst eine Typkonvertierung vornehmen müssen. Dem ist aber nicht so, das erledigt .net für uns. Wir können alles mögliche in der ArrayList speichern, weil alles von object abgeleitet ist, und wir brauchen nichts konvertieren/casten weil das .net Automatisch vornimmt.
Code :1 2 3 4 5 6 7 8
ArrayList alist = new ArrayList(); alist.Add(1); // primitiver Typ integer wird object gewandelt. In ein [i]object[/i]-Objekt gewickelt, zum speichern. // hier der int nochmal als object object o = alist[0]; // und da ist unser integer wieder. int i = (int) o;
Das war ne kurze erklärung, hoffe war verständlich.
MfG,
AlexWith the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Hm...
Objekt von ArrayList wir erstelt.ArrayList alist = new ArrayList();
1 wird in dem Objekt geschrieben.alist.Add(1);
Ein "dummy" wird erzeugt um den Inhalt vom Objekt alist in ein int wert zu speichern. Muesste es nicht alist[1] sein ?!, denn in der zweiten Zeile wird doch 1 hinzugefuegt oder nicht?object o = alist[0];
Die Umspeicherung erfolgt. Warum steht "(int)" vor dem Objekt? Würde es auch ohne dem gehen? Oder ist es zwanghaft, damit festgelegt ist, dass ein Integerwert im Objekt ist?int i = (int) o;
Fragen ueber Fragen
Ich habe versucht die einzelnen Schritte etwas nachzuvollziehen. Hoffe, dass es so ungefaehr richtig ist.
gruss und thx
-
27.08.04 21:16 #4
- Registriert seit
- Aug 2001
- Ort
- Österreich, Stmk, Graz
- Beiträge
- 2.783
Die ArrayList ist wie ein Array, nur muss man ihr keine fixe Größe geben, weiters hat sie keinen bestimmten Typ.
Deswegen greife ich auch mit der 0 auf die Zahl wieder zu, es ist ein Index (die 0).
Damit wollte ich nur zeigen, dass der Integer in eine object-Instanz gewickelt wurde. Könnten wir auch lassen, und stattdessen folgenden Code verwenden.Ein "dummy" wird erzeugt um den Inhalt vom Objekt alist in ein int wert zu speichern. Muesste es nicht alist[1] sein ?!, denn in der zweiten Zeile wird doch 1 hinzugefuegt oder nicht?
Code :1
int i = (int) alist[0];
Das (int) ist eine sogenannte Cast-Operation. Sozusagen eine Typkonvertierung, wobei nicht gewandelt wird,da dass Objekt welches gewandelt wird in unserem Fall ja der Int ist, nur ist er eben ins object gewickelt.
Diese "Umwandlung" wird benötigt, damit man auf die Methoden welche der eigentliche Typ hat auch aufrufen kann. Mit er object-Instanz kann man dies nicht.
Weiters kann man einer Methode welche einen Int verlangt, ja kein object übergeben.With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
Aaron Satie
Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
Captain Jean-Luc Picard, Stardate ~41294.5
Tutorials.de chattet. Hier gibts auch .net Support ^^
Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de
(moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions
-
Ahhh langsam kommt Licht in die dunklen Ecken

Ok ich danke Dir fuer Deine ausfuehrliche Erklaerung
Echt Top!
Gruss
Ähnliche Themen
-
Vorsicht bei generischen Methoden, Boxing und params
Von Thomas Darimont im Forum .NET CaféAntworten: 0Letzter Beitrag: 16.03.07, 00:49





Zitieren

Login





