例如,我有一个项目列表,比方说:
- 苹果
- 橙色
- 香蕉
- 甜瓜
- 木瓜
现在我的显示限制为 3 个项目。比如说,如果我想显示 Papaya
,那么它必须在第二个插槽上,而 Melon 应该在第一个插槽上,因为限制为 3。
+---+---------+---------+
| 1 | Apple | Melon |
| 2 | Orange | Papaya |
| 3 | Banana | |
+-----------------------+
现在我无法将其转换为代码。例如,如果我想获得什么插槽 Banana
应该是,我应该能够得到3
。如果我想知道什么槽Melon
应该是,我会得到1
。谁能帮我吗?我需要做什么才能将这个想法转换为代码形式。
最佳答案
如果你的数组和槽都是从零开始的,你可以通过简单的计算得到槽:
slot = arrayindex mod numslots
如果您的数组是基于 1 的数组,情况会变得更加复杂,但只需在模数运算之前减去 1 即可解决该问题:
slot = (arrayindex - 1) mod numslots
而且,如果您的槽是基于1的,则只需在上述两种情况下将1添加到槽
即可。
slot = (arrayindex mod numslots) + 1
slot = ((arrayindex - 1) mod numslots) + 1
例如,假设有从 1 开始的数组和从 0 开始的槽(其中三个,0 到 2),木瓜的索引为 5。使用:
slot = (arrayindex - 1) mod numslots
slot = ( 5 - 1) mod 3
slot = 4 mod 3
slot = 1
因此它将进入第二个插槽。
关于.net - 逻辑帮助,可能与循环有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17266736/