You are on page 1of 3

DESCRIPCI�N BREVE

Describe los operadores que funcionan con tipos de Microsoft .NET


Framework.

DESCRIPCI�N DETALLADA
Los operadores de tipo booleano (-is y -isnot) indican si un
objeto es una instancia de un tipo de .NET Framework
especificado. El operador -is devuelve el valor TRUE si el tipo
coincide y el valor FALSE en caso contrario. El operador -isnot
devuelve el valor FALSE si el tipo coincide y el valor TRUE en
caso contrario.

El operador -as intenta convertir el objeto de entrada al tipo de


.NET Framework especificado. Si se ejecuta correctamente,
devuelve el objeto convertido. En caso contrario, no devuelve
nada. No devuelve un error.

En la tabla siguiente se enumeran los operadores de tipo de


Windows PowerShell.

Operador Descripci�n Ejemplo


-------- ------------------------ --------------
-is Devuelve TRUE cuando la C:\PS> (get-date) -is
entrada es una instancia [datetime] True
del tipo de .NET Framework
especificado.

-isnot Devuelve TRUE cuando la C:\PS> (get-date)


entrada no es una instancia -isnot [datetime] False
del tipo de .NET Framework
especificado.

-as Convierte la entrada al C:\PS> 12/31/07 -as [datetime] Monday,


tipo de .NET Framework December 31, 2007 12:00:00 AM
especificado.

Esta es la sintaxis de los operadores de tipo:

<entrada> <operador> [.NET type]

Tambi�n puede usar la sintaxis siguiente:

<entrada> <operador> ".NET type"

Para especificar el tipo de .NET Framework, incluya el nombre de


tipo entre corchetes ([]) o escriba el tipo como una cadena, como
[DateTime] o "datetime" para System.DateTime. Si el tipo no est�
en la ra�z del espacio de nombres System, especifique el nombre
completo del tipo de objeto. Puede omitir "System.". Por ejemplo,
para especificar System.Diagnostics.Process, escriba
[System.Diagnostics.Process], [Diagnostics.Process] o
"diagnostics.process".

Los operadores de tipo siempre devuelven un valor booleano,


aunque la entrada sea una colecci�n de objetos. Sin embargo,
cuando la entrada es una colecci�n, los operadores de tipo
coinciden con el tipo de .NET Framework de la colecci�n. No
coinciden con el tipo de cada objeto, incluso en el caso de que
todos los objetos sean del mismo tipo.

Para buscar el tipo de .NET Framework de un objeto, utilice el


cmdlet Get-Member. Tambi�n puede utilizar el m�todo GetType de
todos los objetos junto con la propiedad FullName de este m�todo.
Por ejemplo, la instrucci�n siguiente obtiene el tipo del valor
devuelto de un comando Get-Culture:

C:\PS> (get-culture).gettype().fullname
System.Globalization.CultureInfo

EJEMPLOS
En los ejemplos siguientes se muestran algunos usos de los
operadores Type:

C:\PS> 32 -is [Float]


False

C:\PS> 32 -is "int"


True

C:\PS> (get-date) -is [DateTime]


True

C:\PS> "12/31/2007" -is [DateTime]


False

C:\PS> "12/31/2007" -is [String]


True

C:\PS> (get-process powershell)[0] -is [System.Diagnostics.Process]


True

C:\PS> (get-command get-member) -is


[System.Management.Automation.CmdletInfo]
True

En el ejemplo siguientes se muestra que cuando la entrada es una


colecci�n de objetos, el tipo correspondiente es el tipo de .NET
Framework de la colecci�n, no el tipo de los objetos individuales
de la colecci�n.

En este ejemplo, aunque los cmdlets Get-Culture y Get-UICulture


devuelven objetos System.Globalization.CultureInfo, una colecci�n
de estos objetos es una matriz System.Object.

C:\PS> (get-culture) -is [System.Globalization.CultureInfo]


True

C:\PS> (get-uiculture) -is [System.Globalization.CultureInfo]


True

C:\PS> (get-culture), (get-uiculture) -is


[System.Globalization.CultureInfo]
False

C:\PS> (get-culture), (get-uiculture) -is [Array]


True

C:\PS> (get-culture), (get-uiculture) | foreach {$_ -is


[System.Globalization.CultureInfo])
True
True

C:\PS> (get-culture), (get-uiculture) -is [Object]


True

En los ejemplos siguientes se muestra la forma de usar el


operador -as.

C:\PS> "12/31/07" -is [datetime]


False

C:\PS> "12/31/07" -as [datetime]


Monday, December 31, 2007 12:00:00 AM

C:\PS> $date = "12/31/07" -as [datetime]

C:\PS>$a -is [datetime]


True

C:\PS> 1031 -as [System.Globalization.CultureInfo]

LCID Name DisplayName


---- ---- -----------
1031 de-DE German (Germany)

En el ejemplo siguientes se muestra que cuando el operador -as no


puede convertir el objeto de entrada al tipo de .NET Framework,
no devuelve nada.

C:\PS> 1031 -as [System.Diagnostic.Process]


C:\PS>

VEA TAMBI�N
about_Operators

You might also like