Question cast mysterieux

Plus d'informations
il y a 15 ans 4 mois #8490 par jojo
cast mysterieux a été créé par jojo
bonjour les PowerShelleurs :laugh:

Dans un typage de variable, on utilise la notion de classe [class], ma question se porte sur la signification de:


[code:1][class_A][class_B][/code:1]

je sais pour ceci.
[code:1][class][/code:1]

et pour les tableaux
[code:1][class[]][/code:1]

mais... :unsure:
[code:1][class_A][class_B][/code:1]

voici un exemple que j'ai trouvé dans la toile:
[char][int]

[code:1][string](0..33|%{[char][int](46+(\"686552495351636652556262185355647068516270555358646562655775 0645570\"«»).substring(($_*2),2))})-replace \" \"[/code:1]

Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #8492 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:cast mysterieux
C'est tout simplement un enchaînement de conversions de type.

[type_A][type_B](expression) : convertit le résultat de l'expression en type_B, puis convertit la valeur obtenue en type_A.

L'exemple ci-dessous devrait te permettre de comprendre l'enchaînement de conversions :

[code:1]
PS> [int]\"65\"
65

PS> [char][int]\"65\"
A
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #8496 par jojo
Réponse de jojo sur le sujet Re:cast mysterieux
Merci janel :)

janel écrit:

C'est tout simplement un enchaînement de conversions de type.

[type_A][type_B](expression) : convertit le résultat de l'expression en type_B, puis convertit la valeur obtenue en type_A.

L'exemple ci-dessous devrait te permettre de comprendre l'enchaînement de conversions :

[code:1]
PS> [int]\"65\"
65

PS> [char][int]\"65\"
A
[/code:1]


es-ce que ce \"double\" cast est permis dans les tableaux ? j'ai tester d différentes manières mais c'est toujours un echec...voici l'un de mes tests:
[code:1]
PS> [char[]][int[]]\"56\",\"48\",\"98\"
# ça retourne uniquement le premier élément
8
PS> ([char[]][int[]]\"56\"«»).gettype()
IsPublic IsSerial Name BaseType

----
True True Char[] System.Array[/code:1]<br><br>Message édité par: jojo, à: 4/01/11 16:36

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 4 mois #8504 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:cast mysterieux
Salut Jojo,

Pour appliquer ton cast à un tableau encore faut-il passer un tableau...

En fait ceci :

[code:1][char[]][int[]]\&quot;56\&quot;,\&quot;48\&quot;,\&quot;98\&quot;[/code:1]

N'applique le transtypage qu'au 1er élément de ton tableau, c'est normal.

Pour l'appliquer à tout le tableau, mets des parenthèses, comme ceci:

[code:1]
[char[]][int[]](\&quot;56\&quot;,\&quot;48\&quot;,\&quot;98\&quot;«»)

8
0
b
[/code:1]

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.043 secondes
Propulsé par Kunena