CTYPE |
Castre le type |
---|---|
VB .NET (Visual Basic .NET) |
Syntaxe
Function CType(expression As Object, typename) |
Paramètres
Nom | Description | |
---|---|---|
expression | Ce paramètre permet d'indiquer l'expression à convertir | |
typename | Ce paramètre permet d'indiquer le type de données de castre à utilisé : | |
Types de données | Description | |
Date | Ce type de données permet d'indiquer une valeur de date | |
Decimal | Ce type de données permet d'indiquer une valeur décimal | |
Double | Ce type de données permet d'indiquer une valeur réel de double précision | |
Integer | Ce type de données permet d'indiquer une valeur entière | |
Long | Ce type de données permet d'indiquer une valeur entière longue | |
Single | Ce type de données permet d'indiquer une valeur réel de simple précision | |
String | Ce type de données permet d'indiquer une valeur de chaîne de caractères | |
... | ... |
Description
Cette fonction permet de transformer une valeur sous un type de données spécifié.
Remarques
- Le paramètre expression peut être n'importe quel type de données, d'objet, de structure ou d'interface. Le paramètre typename peut être n'importe quel type de données (tel que Boolean, Byte, Decimal, Long, Short, String,...), type de structure, type d'objet ou interface pouvant être utilisé avec la clause As dans une instruction Dim. Si la fonction échoue ou si la valeur convertie de expression est en dehors de l'intervalle autorisée par typename, une exception InvalidCastException se produit.
- La fonction CType peut effectuer les mêmes conversions que les fonctions de conversion individuelles et génère une erreur d'exécution s'il est demandé d'effectuer une conversion qu'une fonction de conversion individuelle ne peut pas effectuer. Par exemple, dans l'appel de fonction :
- Comme la plupart des fonctions de conversion, la fonction CType n'est pas réellement une fonction dans l'espace de noms Microsoft.VisualBasic. Au lieu de cela, il est similaire à une macro Visual C++ ; le compilateur convertie l'appel de fonction en code en ligne.
- La fonction CType est en partie une fonction de commodité fournissant la fonctionnalité de l'ensemble complet des fonctions de conversion dans une seule fonction. Sa véritable signification, cependant, vient lorsque vous souhaitez convertir un objet dérivé vers le type de sa classe de base, ou lorsque vous souhaitez convertir un objet vers le type de sa classe de base virtuelle (c'est-à-dire son interface).
- La conversion ascendante d'un objet dérivé vers son type d'objet parent peut être effectuée implicitement. Cependant, la conversion descendante du type de classe de base vers le type d'objet dérivé ne peut pas être effectuée implicitement si Option Strict est activé. Au lieu de cela, la fonction CType peut être utilisé pour effectuer cette conversion.
- VB .NET versus VB 6 : La fonction CType est nouvelle dans VB.NET.
bVal = CType(Var1, Boolean)
Var1 peut être n'importe quelle valeur numérique, n'importe quelle chaîne numérique ou une chaîne de caractères dont la valeur est «True» ou «False».
Exemple
Voici des exemples de l'utilisation de cette fonction :
- Module Module1
-
- Sub Main()
- Console.WriteLine("CType(2000-01-01, Date) = " & CType("2000-01-01", Date))
- Console.WriteLine("CType(08-01-01, Date) = " & CType("08-01-01", Date))
- Console.WriteLine("CType(74-01-01, Date) = " & CType("74-01-01", Date))
- Console.WriteLine("CType(02-02-2001, Date) = " & CType("02-02-2001", Date))
-
- Console.WriteLine("CType(2010, String) = " & CType(2010, String))
- Console.WriteLine("CType(ABC, String) = " & CType("ABC", String))
- Console.WriteLine("CType(#01-01-2000#, String)= " & CType(#1/1/2000#, String))
-
- Console.WriteLine("CType(0, Decimal) = " & CType("0", Decimal))
- Console.WriteLine("CType(1.2, Decimal) = " & CType(1.2, Decimal))
- Console.WriteLine("CType(2.55, Decimal) = " & CType(2.55, Decimal))
-
- Console.WriteLine("CType(1, Integer)=" & CType(1, Integer) & ", CType(1, Long)=" & CType(1, Long))
- Console.WriteLine("CType(1.1, Integer)=" & CType(1.1, Integer) & ", CType(1.1, Long)=" & CType(1.1, Long))
- Console.WriteLine("CType(1.7, Integer)=" & CType(1.7, Integer) & ", CType(1.7, Long)=" & CType(1.7, Long))
- Console.WriteLine("CType(-1, Integer)=" & CType(-1, Integer) & ", CType(-1, Long)=" & CType(-1, Long))
- Console.WriteLine("CType(-1.1, Integer)=" & CType(-1.1, Integer) & ", CType(-1.1, Long)=" & CType(-1.1, Long))
- Console.WriteLine("CType(-1.7, Integer)=" & CType(-1.7, Integer) & ", CType(-1.7, Long)=" & CType(-1.7, Long))
- Console.WriteLine("CType(30.2, Integer)=" & CType(30.2, Integer) & ", CType(30.2, Long)=" & CType(30.2, Long))
- Console.WriteLine("CType(-35.4, Integer)=" & CType(-35.4, Integer) & ", CType(-35.4, Long)=" & CType(-35.4, Long))
-
- Console.WriteLine("CType(1, Single)=" & CType(1, Single) & ", CType(1, Double)=" & CType(1, Double))
- Console.WriteLine("CType(1.1, Single)=" & CType(1.1, Single) & ", CType(1.1, Double)=" & CType(1.1, Double))
- Console.WriteLine("CType(1.7, Single)=" & CType(1.7, Single) & ", CType(1.7, Double)=" & CType(1.7, Double))
- Console.WriteLine("CType(-1, Single)=" & CType(-1, Single) & ", CType(-1, Double)=" & CType(-1, Double))
- Console.WriteLine("CType(-1.1, Single)=" & CType(-1.1, Single) & ",CType(-1.1, Double)=" & CType(-1.1, Double))
- Console.WriteLine("CType(-1.7, Single)=" & CType(-1.7, Single) & ", CType(-1.7, Double)=" & CType(-1.7, Double))
- Console.WriteLine("CType(30.2, Single)=" & CType(30.2, Single) & ", CType(30.2, Double)=" & CType(30.2, Double))
- Console.WriteLine("CType(-35.4, Single)=" & CType(-35.4, Single) & ", CType(-35.4, Double)=" & CType(-35.4, Double))
- Console.WriteLine("CType(-35.4, Single)=" & CType(-35.4, Single) & ", CType(-35.4, Double)=" & CType(-35.4, Double))
- Console.WriteLine("CType(1.31E+15, Single)=" & CType(1.31E+15, Single) & ", CType(1.31E+15, Double)=" & CType(1.31E+15, Double))
- End Sub
-
- End Module
on obtiendra le résultat suivant :
CType(2000-01-01, Date) = 2000-01-01CType(08-01-01, Date) = 2008-01-01
CType(74-01-01, Date) = 1974-01-01
CType(02-02-2001, Date) = 2001-02-02
CType(2010, String) = 2010
CType(ABC, String) = ABC
CType(#01-01-2000#, String)= 2000-01-01
CType(0, Decimal) = 0
CType(1.2, Decimal) = 1,2
CType(2.55, Decimal) = 2,55
CType(1, Integer)=1, CType(1, Long)=1
CType(1.1, Integer)=1, CType(1.1, Long)=1
CType(1.7, Integer)=2, CType(1.7, Long)=2
CType(-1, Integer)=-1, CType(-1, Long)=-1
CType(-1.1, Integer)=-1, CType(-1.1, Long)=-1
CType(-1.7, Integer)=-2, CType(-1.7, Long)=-2
CType(30.2, Integer)=30, CType(30.2, Long)=30
CType(-35.4, Integer)=-35, CType(-35.4, Long)=-35
CType(1, Single)=1, CType(1, Double)=1
CType(1.1, Single)=1,1, CType(1.1, Double)=1,1
CType(1.7, Single)=1,7, CType(1.7, Double)=1,7
CType(-1, Single)=-1, CType(-1, Double)=-1
CType(-1.1, Single)=-1,1,CType(-1.1, Double)=-1,1
CType(-1.7, Single)=-1,7, CType(-1.7, Double)=-1,7
CType(30.2, Single)=30,2, CType(30.2, Double)=30,2
CType(-35.4, Single)=-35,4, CType(-35.4, Double)=-35,4
CType(-35.4, Single)=-35,4, CType(-35.4, Double)=-35,4
CType(1.31E+15, Single)=1,31E+15, CType(1.31E+15, Double)=1,31E+15
Dernière mise à jour : Dimanche, le 9 novembre 2014