Autor Beitrag
Dingo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64
Erhaltene Danke: 1



BeitragVerfasst: Di 25.04.17 12:40 
Grüße!

Ich hätte ein paar Fragen zu ein paar Schlüsselwörtern, da ich ihre Funktion nicht ganz verstehe und wollte mal euch Fragen, ob ihr mir einmal erklären könnt was sie machen und wie sie eingesetzt werden: typeof, is, as

Vielen Dank!

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: Titel geändert (war "typeof").
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 25.04.17 12:53 
Alle 3 Lassen sich sehr einfach in der Doku nachlesen. Wenn die dir nicht hilft dann must du konkreter Fragen. Wir wollen ja keine allgemeine Programmierschulungen machen sollen doch recht konkret helfen.
Dingo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 64
Erhaltene Danke: 1



BeitragVerfasst: Di 25.04.17 13:12 
Ich weiß, verstehs nur nicht ganz. Dann mal anders herum:

typeof
Liest sich für mich so, als wäre es das selbe wie GetType. Man bekommt also den Typ eines Objektes zurück.

Beispiel: ?

is
Hiermit wird geprüft ob ein gegebens objekt einem bestimmten Typ entspricht. Antwortmöglichkeiten wären true und false.

Beispiel bool b = obj is string;

as
Mit as kann man einen Typ in einen anderen Typen umwandeln.

Beispiel: string s = obj as string;

Wäre das so korrekt?

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Di 25.04.17 13:29 
GetType() gibt dir ein Type-Objekt von dem Typen, den das Objekt hat, wo Du es aufrufst.
typeof() gibt dir ein Type-Objekt von dem Typ, den Du explizit angibst - ohne konkretes Objekt

ausblenden C#-Quelltext
1:
2:
3:
var a = typeof(Program);
var b = new Program().GetType();
var c = a == b; // true


GetType() gibt dir auch immer den tatsächlichen Typen zurück, also auch, wenn es eine Ableitung ist, die Du gar nicht kennst.


is: Ja
as: Ja

as gibt dir null zurück, wenn das Objekt nicht dem Typ entspricht.
Daher kannst Du das auch nur bei Referenz-Typen nutzen, structs erlauben kein null.

Für diesen Beitrag haben gedankt: Dingo
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 25.04.17 13:56 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: Dingo