Typecasting en C #
Qu'est-ce que la conversion de type, ce qui est l'utilisation de ce? Comment ça fonctionne?
Veuillez fournir un exemple de tutoriel, je ne pouvais pas trouver toutes les bonnes recherche sur Google.
source d'informationauteur MAC | 2009-08-27
Vous devez vous connecter pour publier un commentaire.
Casting est généralement une question de dire au compilateur que même si elle ne sait qu'une valeur est de type général, vous savez que c'est fait plus spécifiques de type. Par exemple:
Il existe plusieurs opérateurs de conversion. Le
(typename) expression
forme peut faire trois choses différentes:int
)XAttribute
àstring
)object
àstring
)Tous ces peut échouer au moment de l'exécution, dans ce cas, une exception sera levée.
La
as
opérateur, d'autre part, jamais déclenche une exception - au lieu de cela, le résultat de la conversion estnull
si elle échoue:Il peut être utilisé pour l'unboxing de nullable type de la valeur:
Il y a aussi des conversions implicites, par exemple, à partir de
int
àlong
:Ne fait que couvrir tout ce qui vous intéresse?
Casting signifie la création d'une référence à un objet qui est d'un type différent de la référence que vous tenez. Vous pouvez faire upcasting ou de passer et chacune a des avantages différents.
Upcasting:
Cela crée une référence plus générale (objet) de la référence plus spécifique (chaîne de caractères). Peut-être que vous avez écrit le code qui peut gérer n'importe quel objet, comme ceci:
Que le code n'a pas besoin d'être changé n'importe quels objets vous définissez o.
De passer:
Ici, vous voulez une référence plus précise. Vous savez peut-être que l'objet est une chaîne de caractères (vous pouvez le tester par exemple:
Maintenant, vous pouvez traiter la référence comme une chaîne de caractères au lieu d'un objet. E. g. une chaîne a une longueur (mais un objet ne fait pas), de sorte que vous pouvez dire:
Laquelle vous ne pouvez pas faire avec un objet.
Voir cette ou cette:
De la conversion d'un type de données à l'autre.
Pour une lecture générale voir cette.
Voir aussi msdn
Aussi, si vous êtes explicitement casting, vous pouvez profiter de pattern matching. Si vous avez un objet:
Vous pouvez convertir l'objet en tant que chaîne de caractères en une seule ligne:
À l'aide de ce, avec une inversée si la déclaration, vous pouvez en toute sécurité en fonte types, et de l'échec précoce en cas de besoin: