gpt4 book ai didi

c# - 限制 2 个单独列表的组合计数 - C#

转载 作者:太空宇宙 更新时间:2023-11-03 21:52:48 25 4
gpt4 key购买 nike

我在 Visual C# 项目中有以下类:

    public class Bus
{
private int BusNumber;
public int busNumber
{
get { return BusNumber; }
set { BusNumber = value; }
}

public List<CircularRoute> circularRoute = new List<CircularRoute>();
public List<LongDistance> longDistance = new List<LongDistance>();
}

有什么方法可以限制两个列表的总和?我知道如果我使用多态列表,我可以使用 if 语句轻松地做到这一点。不过目前这不是我的选择。

最佳答案

不要将列表公开为公开 - 将它们保密并提供添加到每个列表的方法。

在这些方法中,您可以检查两个列表的计数,并且仅在它们低于您的阈值时才添加。

如果您需要公开列表,我建议返回这些私有(private)列表的副本(使用复制构造函数),这样就不会违反不变量。

private List<CircularRoute> circularRoute = new List<CircularRoute>();

public AddRoute(CircularRoute route)
{
if(circularRoute.Count + longDistance.Count < threshold)
{
// add logic.
}
else
{
// Perhaps throw an exception
}
}

public IEnumerable<CircularRoute> CircularRoutes
{
get { return new List<CircularRoute>(circularRoute); }
}

关于c# - 限制 2 个单独列表的组合计数 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13700842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com