public static void InstanceDataCollectionCollection_CopyTo()
        {
            InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection();

            InstanceDataCollection[] idc = new InstanceDataCollection[idcc.Values.Count];
            idcc.CopyTo(idc, 0);
            Assert.True(idc.Length > 0);
        }
Exemple #2
0
    //</snippet7>

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

        PerformanceCounterCategory[] categories = PerformanceCounterCategory.GetCategories();

        // Create and sort an array of category names.
        string[] categoryNames = new string[categories.Length];
        int      catX;

        for (catX = 0; catX < categories.Length; catX++)
        {
            categoryNames[catX] = categories[catX].CategoryName;
        }
        Array.Sort(categoryNames);

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

        for (catX = 0; catX < categories.Length; catX++)
        {
            Console.WriteLine("{0,4} - {1}", catX + 1, categoryNames[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 = 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 = categoryNames[(categoryNum - 1)];
        }
        catch (Exception ex)
        {
            Console.WriteLine("\"{0}\" is not a valid category number." +
                              "\r\n{1}", catNumStr, ex.Message);
            return;
        }
        //<snippet5>
        //<snippet6>

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

        InstanceDataCollection[] idColArray = new InstanceDataCollection[idColCol.Count];

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

        // Copy and process the InstanceDataCollection array.
        idColCol.CopyTo(idColArray, 0);

        foreach (InstanceDataCollection idCol in idColArray)
        {
            ProcessInstanceDataCollection(idCol);
        }
        //</snippet5>
    }