InstanceDataCollectionCollection.Contains(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
判斷指定計數器 (由其中一個索引的 InstanceDataCollection 物件識別) 的執行個體資料集合是否在集合中。
public:
bool Contains(System::String ^ counterName);
public bool Contains (string counterName);
member this.Contains : string -> bool
Public Function Contains (counterName As String) As Boolean
參數
- counterName
- String
效能計數器的名稱。
傳回
如果包含指定計數器的執行個體資料集合在集合中,則為 true
,否則為 false
。
例外狀況
counterName
參數為 null
。
範例
下列程式代碼範例會接受 PerformanceCounter 命令行中的類別名稱和計數器名稱。 它會取得 InstanceDataCollectionCollection 的 PerformanceCounterCategory ,然後使用 Contains 方法來判斷指定的計數器是否存在。 如果計數器存在,此範例會取得相關聯的 InstanceDataCollection ,並顯示集合中的實例名稱。
public static void Main(string[] args)
{
// The following values can be used as arguments.
string categoryName = "Process";
string counterName = "Private Bytes";
InstanceDataCollectionCollection idColCol;
// Copy the supplied arguments into the local variables.
try
{
categoryName = args[0];
counterName = args[1];
}
catch
{
// Ignore the exception from non-supplied arguments.
}
try
{
// Get the InstanceDataCollectionCollection for this category.
PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
idColCol = pcc.ReadCategory();
}
catch(Exception ex)
{
Console.WriteLine("An error occurred getting the InstanceDataCollection for " +
"category \"{0}\"."+ "\n" +ex.Message, categoryName);
return;
}
// Check if this counter name exists using the Contains
// method of the InstanceDataCollectionCollection.
if (!idColCol.Contains(counterName))
{
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.
InstanceDataCollection countData = idColCol[counterName];
ICollection idColKeys = countData.Keys;
string[] idColKeysArray = new string[idColKeys.Count];
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.
int index;
for(index=0; index<idColKeysArray.Length; index++)
{
Console.WriteLine("{0,4} -- {1}", index+1, idColKeysArray[index]);
}
}
}
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
備註
參數 counterName
不區分大小寫。
InstanceDataCollection集合中的每個物件都包含實例所有計數器的效能數據。 數據會依計數器名稱編製索引,然後依實例名稱編製索引。 Containstrue
如果有相關聯的InstanceDataCollection計數器具有 參數所counterName
指定名稱的物件,則會傳回 。