gpt4 book ai didi

C#查字典

转载 作者:太空狗 更新时间:2023-10-29 22:04:38 27 4
gpt4 key购买 nike

我目前正在尝试创建一个根据信号强度估计位置的程序。信号强度值是一个 int,然后我需要一个具有范围的查找字典。

所以我会有这样的东西:

Signal Strenth             Position
0-9 1
10-19 2
20-29 3

然后我想查找信号强度与哪个位置相关,例如 15 与位置 2 相关。

我知道我可以加载大量 if 语句,但是有没有一种使用某种查找字典来执行此操作的好方法?

最佳答案

如果您有任意但连续的范围,您可以使用上限数组并执行二进制搜索来获取位置:

// Definition of ranges
int[] ranges = new int[] { 9, 19, 29 };

// Lookup
int position = Array.BinarySearch(ranges, 15);
if (position < 0)
position = ~position;

// Definition of range names
string[] names = new string[] { "home", "street", "city", "far away" };

Console.WriteLine("Position is: {0}", names[position]);

Array.BinarySearch 返回项目在数组中的索引(如果它存在)(数组必须明显排序)或应插入项目以保持数组排序的按位倒排索引。

关于C#查字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1358839/

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