CounterCreationDataCollection.IndexOf(CounterCreationData) Method

Definition

Returns the index of a CounterCreationData object in the collection.

C#
public int IndexOf(System.Diagnostics.CounterCreationData value);

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.

C#
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");
}

Applies to

Product Versions
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9