CounterCreationDataCollection.IndexOf(CounterCreationData) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns the index of a CounterCreationData object in the collection.
public:
int IndexOf(System::Diagnostics::CounterCreationData ^ value);
public int IndexOf (System.Diagnostics.CounterCreationData value);
member this.IndexOf : System.Diagnostics.CounterCreationData -> int
Public Function IndexOf (value As CounterCreationData) As Integer
Parameters
- value
- CounterCreationData
The CounterCreationData object to locate in the collection.
Returns
The zero-based index of the specified CounterCreationData, if it is found, in the collection; otherwise, -1.
Examples
The following example retrieves CounterCreationData entries from a CounterCreationDataCollection and uses the IndexOf method to display their names and indexes.
String^ myCategoryName;
int numberOfCounters;
Console::Write( "Enter the category Name : " );
myCategoryName = Console::ReadLine();
// Check if the category already exists or not.
if ( !PerformanceCounterCategory::Exists( myCategoryName ) )
{
Console::Write( "Enter the number of counters : " );
numberOfCounters = Int32::Parse( Console::ReadLine() );
array<CounterCreationData^>^ myCounterCreationData =
gcnew array<CounterCreationData^>(numberOfCounters);
for ( int i = 0; i < numberOfCounters; i++ )
{
Console::Write( "Enter the counter name for {0} counter ", i );
myCounterCreationData[ i ] = gcnew CounterCreationData;
myCounterCreationData[ i ]->CounterName = Console::ReadLine();
}
CounterCreationDataCollection^ myCounterCollection =
gcnew CounterCreationDataCollection( myCounterCreationData );
CounterCreationData^ myInsertCounterCreationData = gcnew CounterCreationData(
"CounterInsert","",PerformanceCounterType::NumberOfItems32 );
// Insert an instance of 'CounterCreationData' in the 'CounterCreationDataCollection'.
myCounterCollection->Insert( myCounterCollection->Count - 1,
myInsertCounterCreationData );
Console::WriteLine( "'{0}' counter is inserted into 'CounterCreationDataCollection'",
myInsertCounterCreationData->CounterName );
// Create the category.
PerformanceCounterCategory::Create( myCategoryName, "Sample Category",
myCounterCollection );
for ( int i = 0; i < numberOfCounters; i++ )
{
myCounter = gcnew PerformanceCounter( myCategoryName,
myCounterCreationData[ i ]->CounterName, "", false );
}
Console::WriteLine( "The index of '{0}' counter is {1}",
myInsertCounterCreationData->CounterName, myCounterCollection->IndexOf( myInsertCounterCreationData ) );
}
else
{
Console::WriteLine( "The category already exists" );
}
string myCategoryName;
int numberOfCounters;
Console.Write("Enter the category Name : ");
myCategoryName = Console.ReadLine();
// Check if the category already exists or not.
if (!PerformanceCounterCategory.Exists(myCategoryName))
{
Console.Write("Enter the number of counters : ");
numberOfCounters = int.Parse(Console.ReadLine());
CounterCreationData[] myCounterCreationData =
new CounterCreationData[numberOfCounters];
for (int i = 0; i < numberOfCounters; i++)
{
Console.Write("Enter the counter name for {0} counter ", i);
myCounterCreationData[i] = new CounterCreationData();
myCounterCreationData[i].CounterName = Console.ReadLine();
}
CounterCreationDataCollection myCounterCollection =
new CounterCreationDataCollection(myCounterCreationData);
CounterCreationData myInsertCounterCreationData = new CounterCreationData(
"CounterInsert", "", PerformanceCounterType.NumberOfItems32);
// Insert an instance of 'CounterCreationData' in the 'CounterCreationDataCollection'.
myCounterCollection.Insert(myCounterCollection.Count - 1,
myInsertCounterCreationData);
Console.WriteLine("'{0}' counter is inserted into 'CounterCreationDataCollection'",
myInsertCounterCreationData.CounterName);
// Create the category.
PerformanceCounterCategory.Create(myCategoryName, "Sample Category",
PerformanceCounterCategoryType.SingleInstance, myCounterCollection);
for (int i = 0; i < numberOfCounters; i++)
{
myCounter = new PerformanceCounter(myCategoryName,
myCounterCreationData[i].CounterName, "", false);
}
Console.WriteLine("The index of '{0}' counter is {1}",
myInsertCounterCreationData.CounterName, myCounterCollection.IndexOf(myInsertCounterCreationData));
}
else
{
Console.WriteLine("The category already exists");
}
Dim myCategoryName As String
Dim numberOfCounters As Integer
Console.Write("Enter the category Name : ")
myCategoryName = Console.ReadLine()
' Check if the category already exists or not.
If Not PerformanceCounterCategory.Exists(myCategoryName) Then
Console.Write("Enter the number of counters : ")
numberOfCounters = Integer.Parse(Console.ReadLine())
Dim myCounterCreationData(numberOfCounters - 1) As CounterCreationData
Dim i As Integer
For i = 0 To numberOfCounters - 1
Console.Write("Enter the counter name for {0} counter ", i)
myCounterCreationData(i) = New CounterCreationData()
myCounterCreationData(i).CounterName = Console.ReadLine()
Next i
Dim myCounterCollection As New CounterCreationDataCollection(myCounterCreationData)
Dim myInsertCounterCreationData As New CounterCreationData("CounterInsert", "", _
PerformanceCounterType.NumberOfItems32)
' Insert an instance of 'CounterCreationData' in the 'CounterCreationDataCollection'.
myCounterCollection.Insert(myCounterCollection.Count - 1, myInsertCounterCreationData)
Console.WriteLine("'{0}' counter is inserted into 'CounterCreationDataCollection'", _
myInsertCounterCreationData.CounterName)
' Create the category.
PerformanceCounterCategory.Create(myCategoryName, "Sample Category", _
PerformanceCounterCategoryType.SingleInstance, myCounterCollection)
For i = 0 To numberOfCounters - 1
myCounter = New PerformanceCounter(myCategoryName, _
myCounterCreationData(i).CounterName, "", False)
Next i
Console.WriteLine("The index of '{0}' counter is {1}", _
myInsertCounterCreationData.CounterName, myCounterCollection.IndexOf(myInsertCounterCreationData))
Else
Console.WriteLine("The category already exists")
End If
Applies to
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET