如何在C#中动态添加新的Category并统计其成员?
时间: 2024-10-15 22:21:08 浏览: 19
在C#中动态添加新的Category并统计其成员,你需要允许程序在运行时创建和修改Category对象。可以使用泛型列表(List<T>),因为它支持动态添加元素。以下是一个简单示例:
```csharp
public class DynamicCategoryManager
{
private Dictionary<string, List<Item>> categories = new Dictionary<string, List<Item>>();
public void AddCategory(string categoryName)
{
if (!categories.ContainsKey(categoryName))
categories.Add(categoryName, new List<Item>());
}
public void AddItemToCategory(string categoryName, Item item)
{
if (categories.ContainsKey(categoryName))
categories[categoryName].Add(item);
}
public int GetItemCountInCategory(string categoryName)
{
return categories.ContainsKey(categoryName) ? categories[categoryName].Count : 0;
}
// 添加更多的方法,例如获取所有Category的总成员数等
}
// 使用示例
public class Program
{
public static void Main(string[] args)
{
DynamicCategoryManager manager = new DynamicCategoryManager();
Item item1 = new Item();
Item item2 = new Item();
manager.AddCategory("Category A");
manager.AddItemToCategory("Category A", item1);
manager.AddItemToCategory("Category A", item2);
int itemCountA = manager.GetItemCountInCategory("Category A"); // 返回2
// 动态添加新Category和Item
manager.AddCategory("Category B");
manager.AddItemToCategory("Category B", new Item()); // ...
Console.WriteLine("Category A has {0} items.", itemCountA);
// ... 以此类推,打印其他Category的信息
}
}
```
在这个例子中,你可以随时调用`AddCategory`和`AddItemToCategory`方法来动态创建Category并添加Item。`GetItemCountInCategory`方法则返回指定Category的成员数量。
阅读全文