不,您不能限制列表的长度。
你可以做什么——使类型的公共属性IEnumerable<T>
。以及从私人列表中添加或删除项目的方法。在这些方法上实现任何逻辑。
public class Bus
{
private int busNumber;
private List<CircularRoute> circularRoutes = new List<CircularRoute>();
private List<LongDistance> longDistances = new List<LongDistance>();
private const int MaxTotalRoutes = 10;
public int BusNumber
{
get { return busNumber; }
set { busNumber = value; }
}
public IEnumerable<CircularRoute> CircularRoutes
{
get { return circularRoutes; }
}
public IEnumerable<LongDistance> LongDistances
{
get { return longDistances; }
}
public void AddRoute(CircularRoute route)
{
if (circularRoutes.Count + longDistances.Count == MaxTotalRoutes)
{
// throw exception, do nothing, whatever
return;
}
circularRoutes.Add(route);
}
// add methods for adding and removing routes
}
顺便说一句,在 C# 中,我们使用 PascalCase 来命名属性,使用驼峰命名法来命名字段。