InstanceDataCollectionCollection.Contains 方法

确定集合中是否存在指定计数器的实例数据集合(由索引 InstanceDataCollection 对象之一来标识)。

**命名空间:**System.Diagnostics
**程序集:**System(在 system.dll 中)

语法

声明
Public Function Contains ( _
    counterName As String _
) As Boolean
用法
Dim instance As InstanceDataCollectionCollection
Dim counterName As String
Dim returnValue As Boolean

returnValue = instance.Contains(counterName)
public bool Contains (
    string counterName
)
public:
bool Contains (
    String^ counterName
)
public boolean Contains (
    String counterName
)
public function Contains (
    counterName : String
) : boolean

参数

  • counterName
    性能计数器的名称。

返回值

如果集合中存在包含指定计数器的实例数据集合,则为 true;否则为 false

异常

异常类型 条件

ArgumentNullException

counterName 参数为 空引用(在 Visual Basic 中为 Nothing)。

备注

counterName 参数不区分大小写。

集合中每个 InstanceDataCollection 对象均包含一个实例的所有计数器的性能数据。数据根据计数器名称进行索引,然后根据实例名称进行索引。如果存在一个 InstanceDataCollection 对象,其关联计数器具有 counterName 参数所指定的名称,则 Contains 会返回 true

示例

下面的代码示例从命令行接受 PerformanceCounter 类别名称和计数器名称。它获取 PerformanceCounterCategoryInstanceDataCollectionCollection,然后使用 Contains 方法确定指定的计数器是否存在。如果计数器存在,示例则获取关联 InstanceDataCollection 并显示来自集合的实例名称。

Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""

    Dim idColCol As InstanceDataCollectionCollection

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        ' Get the InstanceDataCollectionCollection for this category.
        Dim pcc As New PerformanceCounterCategory(categoryName)
        idColCol = pcc.ReadCategory()
    Catch ex As Exception
        Console.WriteLine( _
            "An error occurred getting the InstanceDataCollection for " & _
            "category ""{0}""." & vbCrLf & ex.Message, categoryName)
        Return
    End Try

    ' Check if this counter name exists using the Contains
    ' method of the InstanceDataCollectionCollection.
    If Not idColCol.Contains(counterName) Then
        Console.WriteLine( _
            "Counter ""{0}"" does not exist in category ""{1}"".", _
            counterName, categoryName)
        Return
    Else
        ' Now get the counter's InstanceDataCollection object using the
        ' indexer (Item property) for the InstanceDataCollectionCollection.
        Dim countData As InstanceDataCollection = idColCol(counterName)

        Dim idColKeys As ICollection = countData.Keys
        Dim idColKeysArray(idColKeys.Count - 1) As String
        idColKeys.CopyTo(idColKeysArray, 0)

        Console.WriteLine("Counter ""{0}"" of category ""{1}"" " & _
            "has {2} instances.", counterName, categoryName, idColKeys.Count)

        ' Display the instance names for this counter.
        Dim index As Integer
        For index = 0 To idColKeysArray.Length - 1
            Console.WriteLine("{0,4} -- {1}", index + 1, idColKeysArray(index))
        Next index
    End If
End Sub

平台

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

InstanceDataCollectionCollection 类
InstanceDataCollectionCollection 成员
System.Diagnostics 命名空间