CounterCreationDataCollection.IndexOf(CounterCreationData) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回该集合中 CounterCreationData 对象的索引。
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
参数
- value
- CounterCreationData
要在集合中定位的 CounterCreationData 对象。
返回
如果找到指定的 CounterCreationData,则为其在集合中从零开始的索引;否则为 -1。
示例
以下示例从 CounterCreationDataCollection 检索CounterCreationData条目,并使用 IndexOf 方法显示其名称和索引。
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