Редагувати

Поділитися через


CounterCreationDataCollection.IndexOf(CounterCreationData) Method

Definition

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