CounterCreationDataCollection.IndexOf Method (CounterCreationData)


Returns the index of a CounterCreationData object in the collection.

Namespace:   System.Diagnostics
Assembly:  System (in System.dll)

public int IndexOf(
	CounterCreationData value


Type: System.Diagnostics.CounterCreationData

The CounterCreationData object to locate in the collection.

Return Value

Type: System.Int32

The zero-based index of the specified CounterCreationData, if it is found, in the collection; otherwise, -1.

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 = 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,
    Console.WriteLine("'{0}' counter is inserted into 'CounterCreationDataCollection'",
    // 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));
    Console.WriteLine("The category already exists");

.NET Framework
Available since 1.1
Return to top