用C#实现一个背包类?
时间: 2024-12-24 17:29:03 浏览: 3
在C#中,你可以通过定义一个类来表示背包(Backpack),包含容量(Capacity)、物品列表(Item List)和添加/移除物品的方法。下面是一个基本的背包类设计示例:
```csharp
public class Backpack
{
private int capacity; // 背包最大容量
private Dictionary<int, Item> items; // 使用整数作为索引,代表物品ID
public Backpack(int capacity)
{
this.capacity = capacity;
this.items = new Dictionary<int, Item>();
}
public void AddItem(Item item)
{
if (item.Weight <= capacity && !items.ContainsKey(item.Id))
{
items.Add(item.Id, item);
Console.WriteLine($"成功添加了 {item.Name},当前重量:{GetTotalWeight()}");
}
else
{
Console.WriteLine("无法添加,背包已满或已有此物品。");
}
}
public void RemoveItem(int itemId)
{
if (items.ContainsKey(itemId))
{
Item removedItem = items[itemId];
items.Remove(itemId);
Console.WriteLine($"成功移除了 {removedItem.Name},当前重量:{GetTotalWeight()}");
}
else
{
Console.WriteLine("找不到该物品。");
}
}
private int GetTotalWeight()
{
int totalWeight = 0;
foreach (var item in items.Values)
{
totalWeight += item.Weight;
}
return totalWeight;
}
}
class Item
{
public int Id { get; set; }
public string Name { get; set; }
public int Weight { get; set; } // 假设物品都有重量
}
```
这个背包类允许你添加和删除物品,并计算当前背包的总重量。每个`Item`对象需要包含ID、名称和重量属性。
阅读全文