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
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기