InstanceDataCollectionCollection InstanceDataCollectionCollection InstanceDataCollectionCollection InstanceDataCollectionCollection Class

Definition

Stellt eine stark typisierte Auflistung von InstanceDataCollection-Objekten bereit.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
Vererbung
InstanceDataCollectionCollectionInstanceDataCollectionCollectionInstanceDataCollectionCollectionInstanceDataCollectionCollection

Beispiele

Im folgenden Codebeispiel werden die Instanzdaten für einen PerformanceCounterCategory bestimmten auf dem lokalen Computer angezeigt.The following code example displays the instance data for a particular PerformanceCounterCategory on the local computer. Zuerst wird eine nummerierte Liste von PerformanceCounterCategory Namen angezeigt.It first displays a numbered list of PerformanceCounterCategory names. Nachdem der Benutzer die Nummer einer der Kategorien eingegeben hat, ruft das Beispiel den InstanceDataCollectionCollection für diesen PerformanceCounterCategoryab.After the user enters the number of one of the categories, the example gets the InstanceDataCollectionCollection for that PerformanceCounterCategory. Anschließend wird die von der Values -Eigenschaft zurückgegebene Auflistung in ein Array von InstanceDataCollection -Objekten konvertiert.It then converts the collection returned by the Values property to an array of InstanceDataCollection objects. Im Beispiel werden die Instanzdaten angezeigt, InstanceData die den InstanceDataCollectioneinzelnen zugeordnet sind.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

Hinweise

Die InstanceDataCollectionCollection -Klasse stellt die von der ReadCategory -Methode zurückgegebene Auflistung dar.The InstanceDataCollectionCollection class represents the collection returned from the ReadCategory method. Diese Sammlung enthält alle Counter-und Instanzdaten.This collection contains all the counter and instance data. Die-Auflistung enthält InstanceDataCollection ein-Objekt für jeden-Counter.The collection contains an InstanceDataCollection object for each counter. Jedes InstanceDataCollection -Objekt enthält die Leistungsdaten für alle Zähler für diese Instanz.Each InstanceDataCollection object contains the performance data for all counters for that instance. Daher werden die Daten nach dem Namen des Zählers und dann nach dem Instanznamen indiziert.Thus, the data is indexed by counter name and then by instance name.

Konstruktoren

InstanceDataCollectionCollection() InstanceDataCollectionCollection() InstanceDataCollectionCollection() InstanceDataCollectionCollection()

Initialisiert eine neue Instanz der InstanceDataCollectionCollection-Klasse.Initializes a new instance of the InstanceDataCollectionCollection class.

Eigenschaften

Count Count Count Count

Ruft die Anzahl der Elemente ab, die in der DictionaryBase-Instanz enthalten sind.Gets the number of elements contained in the DictionaryBase instance.

(Inherited from DictionaryBase)
Dictionary Dictionary Dictionary Dictionary

Ruft die Liste der in der DictionaryBase-Instanz enthaltenen Elemente ab.Gets the list of elements contained in the DictionaryBase instance.

(Inherited from DictionaryBase)
ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf ein DictionaryBase-Objekt synchronisiert (threadsicher) ist.Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe).

(Inherited from DictionaryBase)
ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ein DictionaryBase-Objekt synchronisiert werden kann.Gets an object that can be used to synchronize access to a DictionaryBase object.

(Inherited from DictionaryBase)
IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize

Ruft einen Wert ab, der angibt, ob ein DictionaryBase-Objekt eine feste Größe hat.Gets a value indicating whether a DictionaryBase object has a fixed size.

(Inherited from DictionaryBase)
IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly

Ruft einen Wert ab, der angibt, ob ein DictionaryBase-Objekt schreibgeschützt ist.Gets a value indicating whether a DictionaryBase object is read-only.

(Inherited from DictionaryBase)
IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object]

Ruft den Wert ab, der dem angegebenen Schlüssel zugeordnet ist, oder legt diesen fest.Gets or sets the value associated with the specified key.

(Inherited from DictionaryBase)
IDictionary.Keys IDictionary.Keys IDictionary.Keys IDictionary.Keys

Ruft ein ICollection-Objekt ab, das die Schlüssel im DictionaryBase-Objekt enthält.Gets an ICollection object containing the keys in the DictionaryBase object.

(Inherited from DictionaryBase)
IDictionary.Values IDictionary.Values IDictionary.Values IDictionary.Values

Ruft ein ICollection-Objekt ab, das die Werte des DictionaryBase-Objekts enthält.Gets an ICollection object containing the values in the DictionaryBase object.

(Inherited from DictionaryBase)
InnerHashtable InnerHashtable InnerHashtable InnerHashtable

Ruft die Liste der in der DictionaryBase-Instanz enthaltenen Elemente ab.Gets the list of elements contained in the DictionaryBase instance.

(Inherited from DictionaryBase)
Item[String] Item[String] Item[String] Item[String]

Ruft die Instanzdaten für den angegebenen Zähler ab.Gets the instance data for the specified counter.

Keys Keys Keys Keys

Ruft die Objekt- und Zählerregistrierungsschlüssel für die Objekte ab, die dieser Auflistung von Instanzdaten zugeordnet sind.Gets the object and counter registry keys for the objects associated with this instance data collection.

Values Values Values Values

Ruft die Instanzdaten ab, die die Auflistung von Instanzen für den Zähler enthalten.Gets the instance data values that comprise the collection of instances for the counter.

Methoden

Clear() Clear() Clear() Clear()

Löscht den Inhalt der DictionaryBase-Instanz.Clears the contents of the DictionaryBase instance.

(Inherited from DictionaryBase)
Contains(String) Contains(String) Contains(String) Contains(String)

Bestimmt, ob für den angegebenen Zähler, der durch eines der indizierten InstanceDataCollection-Objekte bezeichnet wird, in der Auflistung eine Auflistung von Instanzdaten vorhanden ist.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) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Kopiert die DictionaryBase-Elemente am angegebenen Index in ein eindimensionales Array.Copies the DictionaryBase elements to a one-dimensional Array at the specified index.

(Inherited from DictionaryBase)
CopyTo(InstanceDataCollection[], Int32) CopyTo(InstanceDataCollection[], Int32) CopyTo(InstanceDataCollection[], Int32) CopyTo(InstanceDataCollection[], Int32)

Kopiert ein Array von InstanceDataCollection-Instanzen am angegebenen Index in die Auflistung.Copies an array of InstanceDataCollection instances to the collection, at the specified index.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Gibt einen IDictionaryEnumerator zurück, der die DictionaryBase-Instanz durchläuft.Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.

(Inherited from DictionaryBase)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnClear() OnClear() OnClear() OnClear()

Führt vor dem Löschen des Inhalts der DictionaryBase-Instanz zusätzliche benutzerdefinierte Prozesse aus.Performs additional custom processes before clearing the contents of the DictionaryBase instance.

(Inherited from DictionaryBase)
OnClearComplete() OnClearComplete() OnClearComplete() OnClearComplete()

Führt nach dem Löschen des Inhalts der DictionaryBase-Instanz zusätzliche benutzerdefinierte Prozesse aus.Performs additional custom processes after clearing the contents of the DictionaryBase instance.

(Inherited from DictionaryBase)
OnGet(Object, Object) OnGet(Object, Object) OnGet(Object, Object) OnGet(Object, Object)

Ruft das Element mit dem angegebenen Schlüssel und Wert aus der DictionaryBase-Instanz ab.Gets the element with the specified key and value in the DictionaryBase instance.

(Inherited from DictionaryBase)
OnInsert(Object, Object) OnInsert(Object, Object) OnInsert(Object, Object) OnInsert(Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse vor dem Einfügen eines neuen Elements in die DictionaryBase-Instanz aus.Performs additional custom processes before inserting a new element into the DictionaryBase instance.

(Inherited from DictionaryBase)
OnInsertComplete(Object, Object) OnInsertComplete(Object, Object) OnInsertComplete(Object, Object) OnInsertComplete(Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Einfügen eines neuen Elements in die DictionaryBase-Instanz aus.Performs additional custom processes after inserting a new element into the DictionaryBase instance.

(Inherited from DictionaryBase)
OnRemove(Object, Object) OnRemove(Object, Object) OnRemove(Object, Object) OnRemove(Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse vor dem Entfernen eines Elements aus der DictionaryBase-Instanz aus.Performs additional custom processes before removing an element from the DictionaryBase instance.

(Inherited from DictionaryBase)
OnRemoveComplete(Object, Object) OnRemoveComplete(Object, Object) OnRemoveComplete(Object, Object) OnRemoveComplete(Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Entfernen eines Elements aus der DictionaryBase-Instanz aus.Performs additional custom processes after removing an element from the DictionaryBase instance.

(Inherited from DictionaryBase)
OnSet(Object, Object, Object) OnSet(Object, Object, Object) OnSet(Object, Object, Object) OnSet(Object, Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse vor dem Festlegen eines Werts in der DictionaryBase-Instanz aus.Performs additional custom processes before setting a value in the DictionaryBase instance.

(Inherited from DictionaryBase)
OnSetComplete(Object, Object, Object) OnSetComplete(Object, Object, Object) OnSetComplete(Object, Object, Object) OnSetComplete(Object, Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Festlegen eines Werts in der DictionaryBase-Instanz aus.Performs additional custom processes after setting a value in the DictionaryBase instance.

(Inherited from DictionaryBase)
OnValidate(Object, Object) OnValidate(Object, Object) OnValidate(Object, Object) OnValidate(Object, Object)

Führt bei der Überprüfung des Elements mit dem angegebenen Schlüssel und Wert zusätzliche benutzerdefinierte Aktionen aus.Performs additional custom processes when validating the element with the specified key and value.

(Inherited from DictionaryBase)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object)

Fügt dem DictionaryBase ein Element mit dem angegebenen Schlüssel und Wert hinzu.Adds an element with the specified key and value into the DictionaryBase.

(Inherited from DictionaryBase)
IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object)

Stellt fest, ob der DictionaryBase einen bestimmten Schlüssel enthält.Determines whether the DictionaryBase contains a specific key.

(Inherited from DictionaryBase)
IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object)

Entfernt das Element mit dem angegebenen Schlüssel aus dem DictionaryBase.Removes the element with the specified key from the DictionaryBase.

(Inherited from DictionaryBase)
IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Gibt einen IEnumerator zurück, der DictionaryBase durchläuft.Returns an IEnumerator that iterates through the DictionaryBase.

(Inherited from DictionaryBase)

Erweiterungsmethoden

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Siehe auch