今天要说的就是关于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)