InstanceDataCollectionCollection Classe

Definizione

Fornisce una raccolta fortemente tipizzata di oggetti InstanceDataCollection.Provides a strongly typed collection of InstanceDataCollection objects.

public ref class InstanceDataCollectionCollection : System::Collections::DictionaryBase
public class InstanceDataCollectionCollection : System.Collections.DictionaryBase
type InstanceDataCollectionCollection = class
    inherit DictionaryBase
Public Class InstanceDataCollectionCollection
Inherits DictionaryBase
Ereditarietà
InstanceDataCollectionCollection

Esempi

Nell'esempio di codice seguente vengono visualizzati i dati dell'istanza per una particolare PerformanceCounterCategory nel computer locale.The following code example displays the instance data for a particular PerformanceCounterCategory on the local computer. Viene prima visualizzato un elenco numerato di nomi di PerformanceCounterCategory.It first displays a numbered list of PerformanceCounterCategory names. Dopo che l'utente immette il numero di una delle categorie, nell'esempio viene ottenuta la InstanceDataCollectionCollection per tale PerformanceCounterCategory.After the user enters the number of one of the categories, the example gets the InstanceDataCollectionCollection for that PerformanceCounterCategory. Converte quindi la raccolta restituita dalla proprietà Values in una matrice di oggetti InstanceDataCollection.It then converts the collection returned by the Values property to an array of InstanceDataCollection objects. Nell'esempio vengono visualizzati i dati dell'istanza associati a ogni InstanceData di ogni InstanceDataCollection.The example displays the instance data associated with each InstanceData of each InstanceDataCollection.

using System;
using System.Diagnostics;
using System.Collections;

class InstDataKeysValuesMod
{

    private static string categoryName;

    public static void Main()
    {
        string catNumStr;
        int categoryNum;

        PerformanceCounterCategory[] categories = PerformanceCounterCategory.GetCategories();

        Console.WriteLine("These categories are registered on this computer:");

        int catX;
        for(catX=0; catX<categories.Length; catX++)
        {
            Console.WriteLine("{0,4} - {1}", catX+1, categories[catX].CategoryName);
        }

        // Ask the user to choose a category.
        Console.Write("Enter the category number from the above list: ");
        catNumStr = Console.ReadLine();

        // Validate the entered category number.
        try
        {
            categoryNum = int.Parse(catNumStr);
            if (categoryNum<1||categoryNum>categories.Length)
            {
                throw new Exception(String.Format("The category number must be in the " +
                    "range 1..{0}.", categories.Length));
            }
            categoryName = categories[(categoryNum - 1)].CategoryName;

        }
        catch(Exception ex)
        {
            Console.WriteLine("\"{0}\" is not a valid category number." +
                "\r\n{1}", catNumStr, ex.Message);
            return;
        }

        // Process the InstanceDataCollectionCollection for this category.
        PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
        InstanceDataCollectionCollection idColCol = pcc.ReadCategory();

        ICollection idColColKeys = idColCol.Keys;
        string[] idCCKeysArray = new string[idColColKeys.Count];
        idColColKeys.CopyTo(idCCKeysArray, 0);

        ICollection idColColValues = idColCol.Values;
        InstanceDataCollection[] idCCValuesArray = new InstanceDataCollection[idColColValues.Count];
        idColColValues.CopyTo(idCCValuesArray, 0);

        Console.WriteLine("InstanceDataCollectionCollection for \"{0}\" " +
            "has {1} elements.", categoryName, idColCol.Count);

        // Display the InstanceDataCollectionCollection Keys and Values.
        // The Keys and Values collections have the same number of elements.
        int index;
        for(index=0; index<idCCKeysArray.Length; index++)
        {
            Console.WriteLine("  Next InstanceDataCollectionCollection " +
                "Key is \"{0}\"", idCCKeysArray[index]);
            ProcessInstanceDataCollection(idCCValuesArray[index]);
        }
    }

    // Display the contents of an InstanceDataCollection.
    public static void ProcessInstanceDataCollection(InstanceDataCollection idCol)
    {

        ICollection idColKeys = idCol.Keys;
        string[] idColKeysArray = new string[idColKeys.Count];
        idColKeys.CopyTo(idColKeysArray, 0);

        ICollection idColValues = idCol.Values;
        InstanceData[] idColValuesArray = new InstanceData[idColValues.Count];
        idColValues.CopyTo(idColValuesArray, 0);

        Console.WriteLine("  InstanceDataCollection for \"{0}\" " +
            "has {1} elements.", idCol.CounterName, idCol.Count);

        // Display the InstanceDataCollection Keys and Values.
        // The Keys and Values collections have the same number of elements.
        int index;
        for(index=0; index<idColKeysArray.Length; index++)
        {
            Console.WriteLine("    Next InstanceDataCollection " +
                "Key is \"{0}\"", idColKeysArray[index]);
            ProcessInstanceDataObject(idColValuesArray[index]);
        }
    }

    // Display the contents of an InstanceData object.
    public static void ProcessInstanceDataObject(InstanceData instData)
    {
        CounterSample sample = instData.Sample;

        Console.WriteLine("    From InstanceData:\r\n      " +
            "InstanceName: {0,-31} RawValue: {1}", instData.InstanceName, instData.Sample.RawValue);
        Console.WriteLine("    From CounterSample:\r\n      " +
            "CounterType: {0,-32} SystemFrequency: {1}\r\n" +
            "      BaseValue: {2,-34} RawValue: {3}\r\n" +
            "      CounterFrequency: {4,-27} CounterTimeStamp: {5}\r\n" +
            "      TimeStamp: {6,-34} TimeStamp100nSec: {7}", sample.CounterType, sample.SystemFrequency, sample.BaseValue, sample.RawValue, sample.CounterFrequency, sample.CounterTimeStamp, sample.TimeStamp, sample.TimeStamp100nSec);
    }
}
Imports System.Diagnostics
Imports System.Collections

Module InstDataKeysValuesMod

    Private categoryName As String

    Sub Main()
        Dim catNumStr As String
        Dim categoryNum As Integer

        Dim categories As PerformanceCounterCategory() = _
            PerformanceCounterCategory.GetCategories()

        Console.WriteLine( _
            "These categories are registered on this computer:")

        Dim catX As Integer
        For catX = 0 To categories.Length - 1
            Console.WriteLine("{0,4} - {1}", catX + 1, _
                categories(catX).CategoryName)
        Next catX

        ' Ask the user to choose a category.
        Console.Write( _
            "Enter the category number from the above list: ")
        catNumStr = Console.ReadLine()

        ' Validate the entered category number.
        Try
            categoryNum = Integer.Parse(catNumStr)
            If categoryNum < 1 Or categoryNum > categories.Length Then
                Throw New Exception( _
                    String.Format("The category number must be in the " & _
                        "range 1..{0}.", categories.Length))
            End If
            categoryName = categories((categoryNum - 1)).CategoryName

        Catch ex As Exception
            Console.WriteLine("""{0}"" is not a valid category number." & _
                vbCrLf & "{1}", catNumStr, ex.Message)
            Return
        End Try

        ' Process the InstanceDataCollectionCollection for this category.
        Dim pcc As New PerformanceCounterCategory(categoryName)
        Dim idColCol As InstanceDataCollectionCollection = pcc.ReadCategory()

        Dim idColColKeys As ICollection = idColCol.Keys
        Dim idCCKeysArray(idColColKeys.Count - 1) As String
        idColColKeys.CopyTo(idCCKeysArray, 0)

        Dim idColColValues As ICollection = idColCol.Values
        Dim idCCValuesArray(idColColValues.Count - 1) As InstanceDataCollection
        idColColValues.CopyTo(idCCValuesArray, 0)

        Console.WriteLine("InstanceDataCollectionCollection for ""{0}"" " & _
            "has {1} elements.", categoryName, idColCol.Count)

        ' Display the InstanceDataCollectionCollection Keys and Values.
        ' The Keys and Values collections have the same number of elements.
        Dim index As Integer
        For index = 0 To idCCKeysArray.Length - 1
            Console.WriteLine("  Next InstanceDataCollectionCollection " & _
                "Key is ""{0}""", idCCKeysArray(index))
            ProcessInstanceDataCollection(idCCValuesArray(index))
        Next index
    End Sub

    ' Display the contents of an InstanceDataCollection.
    Sub ProcessInstanceDataCollection(ByVal idCol As InstanceDataCollection)

        Dim idColKeys As ICollection = idCol.Keys
        Dim idColKeysArray(idColKeys.Count - 1) As String
        idColKeys.CopyTo(idColKeysArray, 0)

        Dim idColValues As ICollection = idCol.Values
        Dim idColValuesArray(idColValues.Count - 1) As InstanceData
        idColValues.CopyTo(idColValuesArray, 0)

        Console.WriteLine("  InstanceDataCollection for ""{0}"" " & _
            "has {1} elements.", idCol.CounterName, idCol.Count)

        ' Display the InstanceDataCollection Keys and Values.
        ' The Keys and Values collections have the same number of elements.
        Dim index As Integer
        For index = 0 To idColKeysArray.Length - 1
            Console.WriteLine("    Next InstanceDataCollection " & _
                "Key is ""{0}""", idColKeysArray(index))
            ProcessInstanceDataObject(idColValuesArray(index))
        Next index
    End Sub

    ' Display the contents of an InstanceData object.
    Sub ProcessInstanceDataObject(ByVal instData As InstanceData)
        Dim sample As CounterSample = instData.Sample

        Console.WriteLine("    From InstanceData:" & vbCrLf & "      " & _
            "InstanceName: {0,-31} RawValue: {1}", _
            instData.InstanceName, instData.Sample.RawValue)
        Console.WriteLine("    From CounterSample:" & vbCrLf & "      " & _
            "CounterType: {0,-32} SystemFrequency: {1}" & vbCrLf & _
            "      BaseValue: {2,-34} RawValue: {3}" & vbCrLf & _
            "      CounterFrequency: {4,-27} CounterTimeStamp: {5}" & vbCrLf & _
            "      TimeStamp: {6,-34} TimeStamp100nSec: {7}", _
            sample.CounterType, sample.SystemFrequency, sample.BaseValue, _
            sample.RawValue, sample.CounterFrequency, sample.CounterTimeStamp, _
            sample.TimeStamp, sample.TimeStamp100nSec)
    End Sub
End Module

Commenti

La classe InstanceDataCollectionCollection rappresenta la raccolta restituita dal metodo ReadCategory.The InstanceDataCollectionCollection class represents the collection returned from the ReadCategory method. Questa raccolta contiene tutti i dati del contatore e dell'istanza.This collection contains all the counter and instance data. La raccolta contiene un oggetto InstanceDataCollection per ogni contatore.The collection contains an InstanceDataCollection object for each counter. Ogni oggetto InstanceDataCollection contiene i dati sulle prestazioni per tutti i contatori per l'istanza.Each InstanceDataCollection object contains the performance data for all counters for that instance. Pertanto, i dati vengono indicizzati in base al nome del contatore e quindi in base al nome dell'istanza.Thus, the data is indexed by counter name and then by instance name.

Costruttori

InstanceDataCollectionCollection()

Inizializza una nuova istanza della classe InstanceDataCollectionCollection.Initializes a new instance of the InstanceDataCollectionCollection class.

Proprietà

Count

Ottiene il numero di elementi contenuti nell'istanza di DictionaryBase.Gets the number of elements contained in the DictionaryBase instance.

(Ereditato da DictionaryBase)
Dictionary

Ottiene l'elenco degli elementi contenuti nell'istanza di DictionaryBase.Gets the list of elements contained in the DictionaryBase instance.

(Ereditato da DictionaryBase)
InnerHashtable

Ottiene l'elenco degli elementi contenuti nell'istanza di DictionaryBase.Gets the list of elements contained in the DictionaryBase instance.

(Ereditato da DictionaryBase)
Item[String]

Ottiene i dati di istanza relativi al contatore specificato.Gets the instance data for the specified counter.

Keys

Ottiene l'oggetto e le chiavi di registro del contatore per gli oggetti associati all'insieme di dati di questa istanza.Gets the object and counter registry keys for the objects associated with this instance data collection.

Values

Ottiene i valori dei dati di istanza che comprendono l'insieme delle istanze per il contatore.Gets the instance data values that comprise the collection of instances for the counter.

Metodi

Clear()

Cancella il contenuto dell'istanza di DictionaryBase.Clears the contents of the DictionaryBase instance.

(Ereditato da DictionaryBase)
Contains(String)

Stabilisce se un insieme di dati di istanza per il contatore specificato, identificato da uno degli oggetti InstanceDataCollection indicizzati, è presente nell'insieme.Determines whether an instance data collection for the specified counter (identified by one of the indexed InstanceDataCollection objects) exists in the collection.

CopyTo(Array, Int32)

Copia gli elementi di DictionaryBase in una matrice Array unidimensionale in corrispondenza dell'indice specificato.Copies the DictionaryBase elements to a one-dimensional Array at the specified index.

(Ereditato da DictionaryBase)
CopyTo(InstanceDataCollection[], Int32)

Copia una matrice di istanze InstanceDataCollection nell'insieme, in corrispondenza dell'indice specificato.Copies an array of InstanceDataCollection instances to the collection, at the specified index.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto IDictionaryEnumerator che consente di scorrere l'istanza di DictionaryBase.Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.

(Ereditato da DictionaryBase)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OnClear()

Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di DictionaryBase.Performs additional custom processes before clearing the contents of the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnClearComplete()

Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di DictionaryBase.Performs additional custom processes after clearing the contents of the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnGet(Object, Object)

Consente di ottenere l'elemento con la chiave e il valore specificati nell'istanza DictionaryBase.Gets the element with the specified key and value in the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnInsert(Object, Object)

Esegue procedure personalizzate aggiuntive prima di inserire un nuovo elemento nell'istanza di DictionaryBase.Performs additional custom processes before inserting a new element into the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnInsertComplete(Object, Object)

Esegue procedure personalizzate aggiuntive dopo aver inserito un nuovo elemento nell'istanza di DictionaryBase.Performs additional custom processes after inserting a new element into the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnRemove(Object, Object)

Esegue procedure personalizzate aggiuntive prima della rimozione di un elemento dall'istanza di DictionaryBase.Performs additional custom processes before removing an element from the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnRemoveComplete(Object, Object)

Esegue procedure personalizzate aggiuntive dopo della rimozione di un elemento dall'istanza di DictionaryBase.Performs additional custom processes after removing an element from the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnSet(Object, Object, Object)

Esegue procedure personalizzate aggiuntive prima di impostare un valore nell'istanza di DictionaryBase.Performs additional custom processes before setting a value in the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnSetComplete(Object, Object, Object)

Esegue procedure personalizzate aggiuntive dopo aver impostato un valore nell'istanza di DictionaryBase.Performs additional custom processes after setting a value in the DictionaryBase instance.

(Ereditato da DictionaryBase)
OnValidate(Object, Object)

Esegue procedure personalizzate aggiuntive durante la convalida dell'elemento con la chiave e il valore specificati.Performs additional custom processes when validating the element with the specified key and value.

(Ereditato da DictionaryBase)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso a un oggetto DictionaryBase è sincronizzato (thread-safe).Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe).

(Ereditato da DictionaryBase)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso all'oggetto DictionaryBase.Gets an object that can be used to synchronize access to a DictionaryBase object.

(Ereditato da DictionaryBase)
IDictionary.Add(Object, Object)

Aggiunge un elemento con la chiave e il valore specificati al metodo DictionaryBase.Adds an element with the specified key and value into the DictionaryBase.

(Ereditato da DictionaryBase)
IDictionary.Contains(Object)

Determina se l'oggetto DictionaryBase contiene una chiave specifica.Determines whether the DictionaryBase contains a specific key.

(Ereditato da DictionaryBase)
IDictionary.IsFixedSize

Ottiene un valore che indica se le dimensioni di un oggetto DictionaryBase sono fisse.Gets a value indicating whether a DictionaryBase object has a fixed size.

(Ereditato da DictionaryBase)
IDictionary.IsReadOnly

Ottiene un valore che indica se un oggetto DictionaryBase è di sola lettura.Gets a value indicating whether a DictionaryBase object is read-only.

(Ereditato da DictionaryBase)
IDictionary.Item[Object]

Ottiene o imposta il valore associato alla chiave specificata.Gets or sets the value associated with the specified key.

(Ereditato da DictionaryBase)
IDictionary.Keys

Ottiene un oggetto ICollection contenente le chiavi dell'oggetto DictionaryBase.Gets an ICollection object containing the keys in the DictionaryBase object.

(Ereditato da DictionaryBase)
IDictionary.Remove(Object)

Rimuove l'elemento con la chiave specificata da DictionaryBase.Removes the element with the specified key from the DictionaryBase.

(Ereditato da DictionaryBase)
IDictionary.Values

Ottiene un oggetto ICollection contenente i valori dell'oggetto DictionaryBase.Gets an ICollection object containing the values in the DictionaryBase object.

(Ereditato da DictionaryBase)
IEnumerable.GetEnumerator()

Restituisce un oggetto IEnumerator che esegue l'iterazione di DictionaryBase.Returns an IEnumerator that iterates through the DictionaryBase.

(Ereditato da DictionaryBase)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche