小编Den*_*nis的帖子

C# 中的整数范围列表

我有几个具有整数序列的类,这些序列在另一个类中注册,该类检查序列中的数字是否尚未使用。

序列是最连续的,从一个数字到另一个。

现在我一直在使用一个简单的列表,这意味着如果一个序列表示从 5000 到 15000,那么列表中将有 10000 个元素。我想用更合适的东西来代替它,它可以在一个简单的元素中代表范围。

在我的特定情况下,我还希望这些范围代表一个对象(序列源自的类),这样当我查找一个数字时,我就可以访问它的来源,而不是查看每个类来查看它们是否存在包含我正在寻找的号码。

这是我的伪代码和我期望的结果:

/* int is the integer type, while string is the "tag" object */
var animals = new IntRangeArray<int, string>();

animals.Add(1, "dog");
// [0] begin: 1, end: 1, object: "dog"

animals.Add(2, "dog");
// [0] begin: 1, end: 2, object: "dog"

/* AddRange with C#7.0 ValueTuple */
animals.AddRange((4,14), "dog");
// [0] begin: 1, end: 2, object: "dog"
// [1] begin: 4, end: 14, object: "dog"

animals.Add(3, "dog");
// [0] begin: 1, end: …
Run Code Online (Sandbox Code Playgroud)

c# integer partitioning list sequencing

5
推荐指数
1
解决办法
985
查看次数

在 UPnP IGD 中,防火墙针孔和端口映射之间有什么区别?

在 UPnP IGD 中,有 2 个服务“WANPPPConnection”(或 WanIPConnection)和 WANIPv6FirewallControl,其方法看起来相似:

  • 添加针孔
  • 添加(任意)端口映射

两者都采用类似的参数(远程/内部主机/端口、协议、租用时间)。

我想知道,它们之间有什么区别?FW 控制显然是 IPv6 独有的,而 PortMapping 似乎允许 v4 和 v6,那么真正的区别是什么?有不同的行为吗?

router upnp

3
推荐指数
1
解决办法
2742
查看次数

标签 统计

c# ×1

integer ×1

list ×1

partitioning ×1

router ×1

sequencing ×1

upnp ×1