PowerShell: 字面类型系统

一、PowerShell 通过一个字面类型(type Literals)来访问类型,它是用中括号括起的类型名,返回.NET底层的System.Type对象实例。

常用类型别名:

(1)int、short和long:分别参考System.Int32、System.Int16和Sytem.Int64类型。

(2)byte和sbyte:对应无符号的System.Int32和有符号的System.SByte类型。

(3)void:对应没有类型。

(4)string:对应System.String类型。

(5)float和single:对应System.Single而double对应于Sytem.Double类型。

(6)decimal:对应System.Decimal的类型。

(7)regex:对应System.Text.RegularExpressions.Regex。

(8)adsi:对应System.DirectoryServices.DirectoryEntry。

(9)wmi、wmiclass和wmisearcher:分别对应System.Management.

ManagementObject、System.Management.

ManagementClass和System.ManagementObjectSearcher。

可以通过如下命令来查找别名对应的.NET底层的System.Type对象实例:

PS C:\> ([string]).Fullname

System.String

如果不知道某个对象是什么类型,可以这样查找:

PS C:\> ([object[]] 5).GetType().FullName
System.Object[]

二、类型转换

在原始对象前面放置字面类型,通常字面类型会通知Shell完成对象类型的转换。如果正确,将返回一个新的对象。

三、 访问静态成员

字面类型可以用于访问静态属性和方法,为此使用双冒号(::)来分割字面类型和成员名。下例获取一个静态属性值:

PS C:\> [datetime]::Today
2008年12月16日 0:00:00

调用静态方法与此类似,下例调用Parse方法创建double对象:

PS C:\> [double]::Parse("2.5")

参考资料:

http://www.qqread.com/other-devtool/j493863.html

原文地址:https://www.cnblogs.com/ITGirlXiaoXiao/p/2118280.html