InstanceDataCollection.Contains(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
(インデックスを作成した InstanceData オブジェクトの 1 つによって識別される) 指定した名前のパフォーマンス インスタンスが、コレクション内に存在しているかどうかを確認します。
public:
bool Contains(System::String ^ instanceName);
public bool Contains (string instanceName);
member this.Contains : string -> bool
Public Function Contains (instanceName As String) As Boolean
パラメーター
- instanceName
- String
コレクション内で検索するインスタンスの名前。
戻り値
インスタンスがコレクション内にある場合は true
。それ以外の場合は false
。
例外
instanceName
パラメーターが null
です。
例
次のコード例では、コマンド ラインからカテゴリ名、カウンター名、およびインスタンス名を受け入れます PerformanceCounter 。 オブジェクトの InstanceDataCollectionCollection コレクションである カテゴリの InstanceDataCollection を取得します。 そこから、指定されたカウンターの特定 InstanceDataCollection の を取得します。 次に、 メソッドを Contains 使用して、指定したインスタンスが存在するかどうかを判断します。何も入力されていない場合は、既定の単一インスタンス名を使用します。
public static void Main(string[] args)
{
// These values can be used as arguments.
string categoryName = "Process";
string counterName = "Private Bytes";
string instanceName = "Explorer";
InstanceDataCollection idCol;
const string SINGLE_INSTANCE_NAME = "systemdiagnosticsperfcounterlibsingleinstance";
// Copy the supplied arguments into the local variables.
try
{
categoryName = args[0];
counterName = args[1];
instanceName = args[2];
}
catch
{
// Ignore the exception from non-supplied arguments.
}
try
{
// Get the InstanceDataCollectionCollection for this category.
PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
InstanceDataCollectionCollection idColCol = pcc.ReadCategory();
// Get the InstanceDataCollection for this counter.
idCol = idColCol[counterName];
if (idCol==null)
{
throw new Exception("Counter does not exist.");
}
}
catch(Exception ex)
{
Console.WriteLine("An error occurred getting the InstanceDataCollection for " +
"category \"{0}\", counter \"{1}\"." + "\n" + ex.Message, categoryName, counterName);
return;
}
// If the instance name is empty, use the single-instance name.
if (instanceName.Length==0)
{
instanceName = SINGLE_INSTANCE_NAME;
}
// Check if this instance name exists using the Contains
// method of the InstanceDataCollection.
if (!idCol.Contains(instanceName))
{
Console.WriteLine("Instance \"{0}\" does not exist in counter \"{1}\", " +
"category \"{2}\".", instanceName, counterName, categoryName);
return;
}
else
{
// The instance name exists, now get its InstanceData object
// using the indexer (Item property) for the InstanceDataCollection.
InstanceData instData = idCol[instanceName];
Console.WriteLine("CategoryName: {0}", categoryName);
Console.WriteLine("CounterName: {0}", counterName);
Console.WriteLine("InstanceName: {0}", instData.InstanceName);
Console.WriteLine("RawValue: {0}", instData.RawValue);
}
}
Sub Main(ByVal args() As String)
' These values can be used as arguments.
Dim categoryName As String = "Process"
Dim counterName As String = "Private Bytes"
Dim instanceName As String = "Explorer"
Dim idCol As InstanceDataCollection
Const SINGLE_INSTANCE_NAME As String = _
"systemdiagnosticsperfcounterlibsingleinstance"
' Copy the supplied arguments into the local variables.
Try
categoryName = args(0)
counterName = args(1)
instanceName = args(2)
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)
Dim idColCol As InstanceDataCollectionCollection = _
pcc.ReadCategory()
' Get the InstanceDataCollection for this counter.
idCol = idColCol(counterName)
If idCol Is Nothing Then
Throw New Exception("Counter does not exist.")
End If
Catch ex As Exception
Console.WriteLine( _
"An error occurred getting the InstanceDataCollection for " & _
"category ""{0}"", counter ""{1}""." & vbCrLf & ex.Message, _
categoryName, counterName)
Return
End Try
' If the instance name is empty, use the single-instance name.
If instanceName.Length = 0 Then
instanceName = SINGLE_INSTANCE_NAME
End If
' Check if this instance name exists using the Contains
' method of the InstanceDataCollection.
If Not idCol.Contains(instanceName) Then
Console.WriteLine( _
"Instance ""{0}"" does not exist in counter ""{1}"", " & _
"category ""{2}"".", instanceName, counterName, categoryName)
Return
Else
' The instance name exists, now get its InstanceData object
' using the indexer (Item property) for the InstanceDataCollection.
Dim instData As InstanceData = idCol(instanceName)
Console.WriteLine("CategoryName: {0}", categoryName)
Console.WriteLine("CounterName: {0}", counterName)
Console.WriteLine("InstanceName: {0}", instData.InstanceName)
Console.WriteLine("RawValue: {0}", instData.RawValue)
End If
End Sub
注釈
パラメーターでは instanceName
大文字と小文字が区別されません。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET