PowerShell中的强类型数组介绍_PowerShell

在PowerShell中,当我们将一串强类型的值赋给一个变量时,这个变量就成了强类型数组。如果在一个强类型的数组中增加一个非强类型的数组元素(使用“+=”操作符),这时该数组将又变回普通数组。

看看这个例子:

复制代码 代码如下:

PS> $array = [Int[]](1,2,3,4,5)
PS> $array.GetType().FullName
System.Int32[]
PS> $array += "foo"
PS> $array.GetType().FullName
System.Object[]

之所以数组又变回为一个普通数组,这是因为要往数组中添加一个元素,先得创建一个普通数组,然后把强类型数组中的所有元素都拷贝进普通数组中。

如果往强类型数组中添加一个同类型的数据,则数组类型保持不变。

例子:

复制代码 代码如下:

PS> [Int[]]$array = 1,2,3,4,5
PS> $array.GetType().FullName
System.Int32[]
PS> $array += 6
PS> $array.GetType().FullName
System.Int32[]

其实强类型的数组就这样简单,至于有什么用途,小编暂时还没有用到,大家可以先了解有这么一个东东,真正在需求的时候能想起来它就行了。

时间: 2024-10-25 12:00:10

PowerShell中的强类型数组介绍_PowerShell的相关文章

PowerShell中的函数重载示例_PowerShell

在PowerShell中,我们可以使用Function关键字来定义一个函数,比如: Function Get-Data { Param ( [int] $data = -1 ) return $data; } 这个名为Get-Data的函数接收一个int类型的参数$data,直接将其返回.那么,我同时还需要一个接收string类型的Get-Data函数怎么办?方法比较奇怪,至少和传统的C++之类的语言不同. 在PowerShell中定义重载函数,需要指定参数所属的Parameter Set,如下

PowerShell中判断闰年的方法_PowerShell

使用PowerShell可以很方便的判断一个年限是不是闰年,只要一句话搞定,IsLeapYear函数,真是革命啊! 小编以前在学其它语言的时候,给定一个年限,判断它是闰年或平年,需要写大段大段的代码去实现.C#出来之后,这个问题解决了,DateTime类型下面有一个静态方法:IsLeapYear(int year).使用这个方法可以直接返回True或False.True即表示闰年,False表示平年. 且看演示代码: 复制代码 代码如下: PS C:\Users\zhanghong> [date

PowerShell中计算时间差的方法_PowerShell

PowerShell中有一个New-TimeSpan的cmdlet,使用它可以很方便的计算两个时间之间的差值.差值还可以提取出年.月.日.时.分.秒. 以前,小编想要知道当时时间到十一放假还有多少天时,小编一般会写一个VBScript脚本来简单计算一下.这个VBScript脚本很简单,只有一句话: 复制代码 代码如下: MsgBox DateDiff("d", Now(), "2013-10-1") 新建一个纯文本文件,把这句话放进去.然后再把这个文件的文件名改为x

Win8系统中使用PowerShell安装APPX应用命令介绍_PowerShell

在Windows 8平台上,可以安装最新的LOB(业务线)应用程序,即后缀为.APPX的程序.APPX程序一般都需要开发者提交给Windows应用商店,由它审核后统一发布,其他用户通过应用商店下载安装.如果我们自己开发的一个APPX程序,我只想给自己或少部分人用,那也不必走应用商店的复杂流程,可以自己安装在自己的设备上. 本文就介绍如何使用PowerShell来安装APPX程序.当然,这里要注意,既然是APPX程序,那一定是Windows 8系统:既然是Windows 8,那一定是PowerSh

Powershell中Finally语句用法示例_PowerShell

在之前的小技巧中,我们曾经引入过,一个有声的进度条.在PowerShell正在做某项忙碌的任务时,可以一直让它播放某段音乐.代码如下: 复制代码 代码如下: # 在windows 文件夹下面找到要给可用的wav音频文件 $WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorAction SilentlyContinue |  Select-Object -First 1 -ExpandProperty Fu

PowerShell中终止管道的方法_PowerShell

如果你能够提前知道你想从管道中获取元素的个数,可以使用Select-Object来终止流处理命令的的管道,这会节省很多时间. 下面的例子会从Windows文件夹下搜寻 explorer.exe示例,因为Select-Object语句可以在管道找到结果的那一瞬终止管道.否则,Get-ChildItem会递归的遍历所有子目录然后匹配出你想要的结果. 复制代码 代码如下: #requires -Version 3 Get-ChildItem -Path c:\Windows -Recurse -Fil

PowerShell中实现混淆密码示例_PowerShell

适用于PowerShell 3.0或者更高版本, 尽管我们并不推荐将密码硬编码在脚本文件中,但是仍旧有一些场景非如此不可.与将密码以一种纯文本的方式硬编码相比,我们还可以稍微花点心思,把密码混淆一下.虽然混淆密码是一种非常低级的保护方式,但是对于不懂PowerShell的人来讲,还是比较神秘的. 接下来的脚本会向用户询问用户名和密码,然后删除通过混淆脚本进行处理,产生用户凭据对象. 当你运行了下面的脚本以后,用户凭据已经被保存在$cred.接下来你几乎可以在任何带有–Credential参数的命

Powershell中定义常量的方法_PowerShell

支持所有版本. 通常变量是可变的,你可以修改他们,除非你使用的是一个常量. 可是这里没有这样的变量但常量它可以被创建,这里创建了一个值为1的常量. 复制代码 代码如下: New-Variable -Name cannotChange -Value 1 -Option Constant 当脚本运行时你不可以再改变这个变量的值,此变量与值将绑定在此会话,所以某个明确的信息永远不会改变时,可以使用常量. 你也可以在配置文件定义常量: 复制代码 代码如下: PS> $profile.AllUsersAl

探索PowerShell(十一)函数介绍_PowerShell

一个脚本的功能可能有很多,但是并非都是通过一段代码来完成的.在一个出色的脚本中,实现各个功能代码的独立性,可以保证这个脚本具有高可用性和易维护性,并且当我们改进或删减功能时只需删除对应的代码块即可.通常,代码块就是指函数,调用函数,就是执行不同的代码块,以便实现各种功能. 先看一个例子: 复制代码 代码如下: function Time {Get-Date} <enter> 这样,我们就有了一个新函数"Time",其功能实现代码就是"{Get-Date}"