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[]
其实强类型的数组就这样简单,至于有什么用途,小编暂时还没有用到,大家可以先了解有这么一个东东,真正在需求的时候能想起来它就行了。
相关推荐
-
探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
我们经常在程序设计中用到的数组,同样在脚本中很常用.本节就详细介绍一下数组,以及哈希表在PowerShell中的使用. 数组 在PowerShell中,声明一个变量为数组时,需要使用符号"@",例如: $strUsers=@(""user1","user2","user3) <enter> 这样,我们就声明了一个具有3个成员的数组.查看它的值,使用: $strUsers <enter> 还有一些其他的操
-
PowerShell数组操作简明教程
对于编写程序来讲,离不开数组,PowerShell也不例外.在PowerShell中创建和使用数组是一件前所未有的愉悦的事情,实在是简单.易用得太过分了!呵呵! 1.定义数组 在PowerShell中,所有的变量都无须定义,数组亦如此,所以此步省略. 2.初始化数组 复制代码 代码如下: $arr=1,2,3,'a','b','xx'; 在上面的例子中,洪哥对变量名为$arr的数组进行了初始化.在PowerShell中初始化一个数组就是把所有的数组元素--不管什么类型的,通通赋给它.每个数组元素
-
PowerShell查找数组内容、搜索数组、查询数组的方法
PowerShell中有-contain.-like.-in等操作符,使用这些操作符,可以很方便的在数组中查找元素内容.其中in操作符貌似要在PowerShell 3.0中才有. 先看一个例子,将Windows目录的所有文件的文件名放入到数组$name中,然后在数组$name中查找exploer.exe元素.且看-contains的魅力! 复制代码 代码如下: PS> $names = Get-ChildItem -Path $env:windir | Select-Object -Expand
-
Windows Powershell 命令返回数组
当我们把一个命令的执行结果保存到一个变量中,可能会认为变量存放的是纯文本. 但是,事实上Powershell会把文本按每一行作为元素存为数组.如果一个命令的返回值不止一个结果时,Powershell也会自动把结果存储为数组. PS C:Powershell> $IPcfg=ipconfig PS C:Powershell> $IPcfg Windows IP Configuration Ethernet adapter Local Area Connection: Connection-spe
-
Powershell创建数组正确、更快的方法
通常当新的对象添加到一个数组中,根据经验你最担心其性能问题.下面第一个例子将告诉你一个错误的操作方法: 复制代码 代码如下: Measure-Command { $ar = @() for ($x=0; $x -lt 10000; $x++) { $ar += $x } } 在这个循环中,这个数组通过符号"+="增加了许多新的对象.这样做会需要很长时间,因为在你改变其大小时Powershell每次需要去创造一个新的数组. 下面将有一个非常快的办法-Array
-
Windows Powershell 创建数组
在Powershell中创建数组可以使用逗号. PS C:Powershell> $nums=2,0,1,2 PS C:Powershell> $nums 2 0 1 2 对于连续的数字数组可以使用一个更快捷的方法 PS C:Powershell> $nums=1..5 PS C:Powershell> $nums 1 2 3 4 5 数组的多态 象变量一样如果数组中元素的类型为弱类型,默认可以存储不同类型的值. PS C:Powershell> $array=1,"
-
PowerShell数组结合switch语句产生的奇特效果介绍
PowerShell数组与switch语句,PowerShell中数组可以与switch语句结合,产生意想不到的效果. PowerShell中数组可以与switch语句结合,产生意想不到的效果. 先看看例子: 复制代码 代码如下: $myArray = 1,5,4,2,3,5,2,5 Switch ( $myArray ) { 1 { 'one' } 2 { 'two' } 3 { 'three' } 4 { 'four' } 5 { 'five' } } 数组中的所有元素都是在1,2
-
PowerShell数组的一些操作技巧
PowerShell数组的使用例子,PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值. PowerShell中使用逗号给数组赋值,数组中可以存放各种不同类型的数据值. 数组的赋值 先看下面一个简单的例子: 复制代码 代码如下: $myArray = 'Hello', 12, (Get-Date), $null, $true $myArray.Count 这个数组中有五个元素,有字符串.数字.日期.空值.布尔值等不同的数据类型. 索引数组的数据(正序与逆序) 使用中括号
-
PowerShell中的强类型数组介绍
在PowerShell中,当我们将一串强类型的值赋给一个变量时,这个变量就成了强类型数组.如果在一个强类型的数组中增加一个非强类型的数组元素(使用"+="操作符),这时该数组将又变回普通数组. 看看这个例子: 复制代码 代码如下: PS> $array = [Int[]](1,2,3,4,5) PS> $array.GetType().FullName System.Int32[] PS> $array += "foo" PS> $array
-
PowerShell中使用正则表达式筛选数组实例
本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容. 先看下面这个例子: 复制代码 代码如下: PS C:\Users\Hong> (ipconfig) -match 'IPv4' IPv4 地址 . . . . . . . . . . . . : 192.168.1.102 IPv4 地址 . . . . . . . . . . . . : 192.168.193.1 IPv4 地址 . . . . . . . . . . . . :
-
PowerShell中的变量基础知识介绍
本文介绍在PowerShell中,如何使用变量.变量可以存储程序中的数量,比如开发者的赋值.命令的执行结果等. 变量拿来干嘛的,不用我多说了,写过程序的兄弟们都知道:如果程序中没有变量,那真的就不能让程序了!连批处理里面都有变量了,那PowerShell中自然就更不能没有. 1.PowerShell中的变量都是对象 PowerShell中的变量是基于.NET Framework的,所以PowerShell中的变量跟.NET中的变量一样:都是对象,通通都是对象! 复制代码 代码如下: $i=1 $
-
PowerShell中的特殊变量$null介绍和创建多行注释小技巧
本文介绍PowerShell中一个非常特殊的变量,那就是$null.$null的特殊之处在于,它永远不存储内容. 在翻看一本PowerShell的书时,发现了一段关于$null变量的描述,小编觉得非常有意思,特写下来跟大家分享. 看看这个例子: 复制代码 代码如下: PS C:\Users\zhanghong> $null=1122 PS C:\Users\zhanghong> $null PS C:\Users\zhanghong> 看懂没有?小编给$null变量赋了一个值"
-
PowerShell中使用ArrayList实现数组插入、删除、添加例子
PowerShell中对数组进行插入.删除.添加数组元素的操作是很不方便,而且效率也是很低下的.那是因为数组对象本身并没有插入和删除的功能,每次的操作都是将数组整个拷贝到一个新的数组中.这个过程太消耗资源. 如果我们把Array对象转换为ArrayList对象,那一切问题都解决了.ArrayList有InsertAt()和RemoveAt()方法,所以在处理数组元素的插入和删除操作时更方便快捷,而且事实上效率也更高. $array = 1..10 [System.Collections.Arra
-
PowerShell中Get-Date对象的常用属性和方法介绍
本文介绍PowerShell中使用Get-Date得到的日期对象的属性和方法,利用好这些对象和方法,可以极大的增强我们开发的灵活性. 使用Get-Date可以获取到一个时间对象,这个时间对象,可不是仅仅用来输出当前时间这么简单.我们来看看它的属性和方法吧,不看白不看. 要想看一个对象的成员(即对象的属性和方法),可以使用管道符,再加上Get-Member这个cmdlet.很方便滴! 复制代码 代码如下: PS C:\Users\zhanghong> Get-Date | Get-Member T
-
PowerShell中常用的一些特殊运算符介绍
&,调用运算符. 语法:& <可执行文件路径> [<参数列表>] 举例: 复制代码 代码如下: $execPath="D:\Progra~1\FlashFXP\flashfxp.exe" $execArgs="-upload ftp://u:p@ip:21 " $execArgs=$execArgs+"-remotepath=`"/`" " $execArgs=$execArgs+&qu
-
PowerShell中match命令使用详解
1.筛选数组 本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容. 先看下面这个例子: PS C:\Users\Hong> (ipconfig) -match 'IPv4' IPv4 地址 . . . . . . . . . . . . : 192.168.1.102 IPv4 地址 . . . . . . . . . . . . : 192.168.193.1 IPv4 地址 . . . . . . . . . . . . : 192.168.93.1
-
PowerShell中使用Out-String命令把对象转换成字符串输出的例子
本文介绍在PowerShell中如何将cmdlet输出的对象,转换为string字符串类型,便于后期的处理. PowerShell中的cmdlet输出的结果都是以对象(Object)的形式存在的.对于Object类型,在后期处理时有利有弊,当然利大于弊.但某些时候,我们希望cmdlet输出的结果直接是字符串,那应该怎么来实现呢? PowerShell中提供了一个Out-String的cmdlet,来看看它的介绍:Out-String cmdlet 将 Windows PowerShell 管理的
-
PowerShell中Job相关命令及并行执行任务详解
前言 在 PowerShell 中可以轻松的执行后台任务并且让多个后台任务并行执行.本文介绍 PowerShell 中 Job 相关的一些命令,并通过 demo 演示如何在后台同时执行多个任务.下面话不多说了,来一起看看详细的介绍吧. PowerShell 中执行后台任务的模式 下图描述了在 PowerShell 中执行后台任务的进程模型(此图来自互联网): 首先我们需要一个 PowerShell 进程执行与用户交互的命令,比如执行 Start-Job 命令运行一个后台任务.每一个这样的后台任务
随机推荐
- Vue.js实现一个自定义分页组件vue-paginaiton
- Objective-C基础 自定义对象归档详解及简单实例
- 基于ASP.NET MVC的ABP框架入门学习教程
- Android下通过httpClient发送GET和POST请求的实例代码
- Lua教程(一):简介、优势和应用场景介绍
- SSH远程登录和端口转发详解
- sql server 2005数据库备份还原图文教程
- 修改mysql密码与忘记mysql密码的处理方法
- MS Server和Oracle中对NULL处理的一些细节差异
- jQuery实现订单提交页发送短信功能前端处理方法
- jquery validate poshytip 自定义样式
- NT的19个秘密武器
- 获取wince mac地址与IP地址解决方案
- java实现字符串反转
- java数据库连接池和数据库连接示例
- android ListView和ProgressBar(进度条控件)的使用方法
- PHP文件读写操作之文件读取方法详解
- C++函数pyrUp和pyrDown来实现图像金字塔功能
- C#实现将一个字符转换为整数
- iOS NSThread和NSOperation的基本使用详解