public static void InstanceDataCollectionCollection_CopyTo() { InstanceDataCollectionCollection idcc = GetInstanceDataCollectionCollection(); InstanceDataCollection[] idc = new InstanceDataCollection[idcc.Values.Count]; idcc.CopyTo(idc, 0); Assert.True(idc.Length > 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> }