统计对象在PowerShell 3.0中的改进

今天要说的就是关于PowerShell中的Count属性对象,熟悉用PowerShell操作字符的朋友一定很了解,Count是用来统计对象中所包含的数据数量。

如下示例,我们可以看出,几乎任何字符操作,包括包含数据集合的数组对象都可以用Count来计算所包含的个数。

PS C:\Users> $Sum = "1","2","3"
PS C:\Users> $Sum.Count
3


但是在PowerShell 2.0以及更早版本中,Count也不是十分完美,比如当你的数据个数为1个或者0个时,却不会返回任何值。

PS C:\Users> $Sum = "1"
PS C:\Users> $Sum.Count


但是在PowerShell 3.0中,这一问题就得到了很好的改进,一起来看看:

PS C:\Users\Administrator> $Sum = "1","2"
PS C:\Users\Administrator> $Sum.Count
2


当我们设置为1个数据时,Count给我们的返回是1.

PS C:\Users\Administrator> $Sum = "1"
PS C:\Users\Administrator> $Sum.Count
1


即使不包含任何值的变量,都会返回一个值,告诉你此变量包含多少数据。

PS C:\Users\Administrator> $Sum2
PS C:\Users\Administrator> $Sum2.Count
0

 

而由于能得到返回值的关系,在3.0中如果使用Get-Member获得对象时也不会像2.0中因没有返回值而报错。

PS C:\Users\Administrator> $Sum2.Count|Get-Member

   TypeName: System.Int32

Name        MemberType Definition
----        ---------- ----------
CompareTo   Method     int CompareTo(System.Object value), int CompareTo(int value), int IComparable.CompareTo(Syste...
Equals      Method     bool Equals(System.Object obj), bool Equals(int obj), bool IEquatable[int].Equals(int other)
GetHashCode Method     int GetHashCode()
GetType     Method     type GetType()
GetTypeCode Method     System.TypeCode GetTypeCode(), System.TypeCode IConvertible.GetTypeCode()
ToBoolean   Method     bool IConvertible.ToBoolean(System.IFormatProvider provider)
ToByte      Method     byte IConvertible.ToByte(System.IFormatProvider provider)
ToChar      Method     char IConvertible.ToChar(System.IFormatProvider provider)
ToDateTime  Method     datetime IConvertible.ToDateTime(System.IFormatProvider provider)
ToDecimal   Method     decimal IConvertible.ToDecimal(System.IFormatProvider provider)



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值