Entwickler-Ecke
C# - Die Sprache - Bedeutung der Schlüsselwörter 'typeof', 'is' und 'as'?
Dingo - Di 25.04.17 12:40
Titel: Bedeutung der Schlüsselwörter 'typeof', 'is' und 'as'?
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 Th69: C#-Tags hinzugefügt
Moderiert von Th69: Titel geändert (war "typeof").
Ralf Jansen - 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 - 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 Th69: C#-Tags hinzugefügt
Palladin007 - 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
C#-Quelltext
1: 2: 3:
| var a = typeof(Program); var b = new Program().GetType(); var c = a == b; |
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.
Delete - Di 25.04.17 13:56
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!