今天要说的就是关于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)
本文介绍了PowerShell中Count属性的使用方法,特别是在PowerShell 3.0版本中对于单个或空数据集的计数改进。通过示例展示了如何统计数组对象中元素的数量,并解释了早期版本中存在的局限性。
1414

被折叠的 条评论
为什么被折叠?



