Bagikan melalui


InstanceDataCollection Kelas

Definisi

Menyediakan kumpulan objek yang sangat ditik InstanceData .

public ref class InstanceDataCollection : System::Collections::DictionaryBase
public class InstanceDataCollection : System.Collections.DictionaryBase
type InstanceDataCollection = class
    inherit DictionaryBase
Public Class InstanceDataCollection
Inherits DictionaryBase
Warisan
InstanceDataCollection

Contoh

Contoh kode berikut menampilkan data instans untuk tertentu PerformanceCounterCategory di komputer lokal. Ini pertama-tama PerformanceCounterCategory menampilkan daftar nama bernomor. Setelah pengguna memasukkan jumlah salah satu kategori, contohnya InstanceDataCollectionCollection mendapatkan untuk itu PerformanceCounterCategory. Kemudian mengonversi koleksi yang dikembalikan oleh Values ke array InstanceDataCollection objek. Contohnya juga menampilkan data instans yang terkait dengan masing-masing InstanceDataInstanceDataCollection.

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

Keterangan

Kelas InstanceDataCollection mewakili koleksi yang berisi semua data instans untuk penghitung. Koleksi ini terkandung dalam InstanceDataCollectionCollection saat menggunakan ReadCategory metode .

Konstruktor

InstanceDataCollection(String)
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Menginisialisasi instans InstanceDataCollection baru kelas, menggunakan penghitung kinerja yang ditentukan (yang menentukan instans performa).

Properti

Count

Mendapatkan jumlah elemen yang terkandung dalam DictionaryBase instans.

(Diperoleh dari DictionaryBase)
CounterName

Mendapatkan nama penghitung kinerja yang data instansnya ingin Anda dapatkan.

Dictionary

Mendapatkan daftar elemen yang terkandung dalam DictionaryBase instans.

(Diperoleh dari DictionaryBase)
InnerHashtable

Mendapatkan daftar elemen yang terkandung dalam DictionaryBase instans.

(Diperoleh dari DictionaryBase)
Item[String]

Mendapatkan data instans yang terkait dengan penghitung ini. Ini biasanya sekumpulan nilai penghitung mentah.

Keys

Mendapatkan kunci registri objek dan penghitung untuk objek yang terkait dengan data instans ini.

Values

Mendapatkan nilai penghitung mentah yang terdiri dari data instans untuk penghitung.

Metode

Clear()

Menghapus konten instans DictionaryBase .

(Diperoleh dari DictionaryBase)
Contains(String)

Menentukan apakah instans performa dengan nama tertentu (diidentifikasi oleh salah satu objek terindeks InstanceData ) ada dalam koleksi.

CopyTo(Array, Int32)

DictionaryBase Menyalin elemen ke satu dimensi Array pada indeks yang ditentukan.

(Diperoleh dari DictionaryBase)
CopyTo(InstanceData[], Int32)

Menyalin item dalam koleksi ke array satu dimensi yang ditentukan pada indeks yang ditentukan.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

Mengembalikan yang IDictionaryEnumerator berulang melalui DictionaryBase instans.

(Diperoleh dari DictionaryBase)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnClear()

Melakukan proses kustom tambahan sebelum menghapus konten instans DictionaryBase .

(Diperoleh dari DictionaryBase)
OnClearComplete()

Melakukan proses kustom tambahan setelah menghapus konten instans DictionaryBase .

(Diperoleh dari DictionaryBase)
OnGet(Object, Object)

Mendapatkan elemen dengan kunci dan nilai yang ditentukan dalam DictionaryBase instans.

(Diperoleh dari DictionaryBase)
OnInsert(Object, Object)

Melakukan proses kustom tambahan sebelum menyisipkan elemen baru ke DictionaryBase dalam instans.

(Diperoleh dari DictionaryBase)
OnInsertComplete(Object, Object)

Melakukan proses kustom tambahan setelah menyisipkan elemen baru ke DictionaryBase dalam instans.

(Diperoleh dari DictionaryBase)
OnRemove(Object, Object)

Melakukan proses kustom tambahan sebelum menghapus elemen dari DictionaryBase instans.

(Diperoleh dari DictionaryBase)
OnRemoveComplete(Object, Object)

Melakukan proses kustom tambahan setelah menghapus elemen dari DictionaryBase instans.

(Diperoleh dari DictionaryBase)
OnSet(Object, Object, Object)

Melakukan proses kustom tambahan sebelum mengatur nilai dalam DictionaryBase instans.

(Diperoleh dari DictionaryBase)
OnSetComplete(Object, Object, Object)

Melakukan proses kustom tambahan setelah menetapkan nilai dalam DictionaryBase instans.

(Diperoleh dari DictionaryBase)
OnValidate(Object, Object)

Melakukan proses kustom tambahan saat memvalidasi elemen dengan kunci dan nilai yang ditentukan.

(Diperoleh dari DictionaryBase)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke DictionaryBase objek disinkronkan (utas aman).

(Diperoleh dari DictionaryBase)
ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke DictionaryBase objek.

(Diperoleh dari DictionaryBase)
IDictionary.Add(Object, Object)

Menambahkan elemen dengan kunci dan nilai yang ditentukan ke DictionaryBasedalam .

(Diperoleh dari DictionaryBase)
IDictionary.Contains(Object)

Menentukan apakah DictionaryBase berisi kunci tertentu.

(Diperoleh dari DictionaryBase)
IDictionary.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah DictionaryBase objek memiliki ukuran tetap.

(Diperoleh dari DictionaryBase)
IDictionary.IsReadOnly

Mendapatkan nilai yang menunjukkan apakah objek bersifat DictionaryBase baca-saja.

(Diperoleh dari DictionaryBase)
IDictionary.Item[Object]

Mendapatkan atau mengatur nilai yang terkait dengan kunci yang ditentukan.

(Diperoleh dari DictionaryBase)
IDictionary.Keys

Mendapatkan objek yang ICollection berisi kunci dalam DictionaryBase objek .

(Diperoleh dari DictionaryBase)
IDictionary.Remove(Object)

Menghapus elemen dengan kunci yang ditentukan dari DictionaryBase.

(Diperoleh dari DictionaryBase)
IDictionary.Values

Mendapatkan objek yang ICollection berisi nilai dalam DictionaryBase objek .

(Diperoleh dari DictionaryBase)
IEnumerable.GetEnumerator()

Mengembalikan IEnumerator yang berulang melalui DictionaryBase.

(Diperoleh dari DictionaryBase)

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk

Lihat juga