加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#循环数组索引值从索引中返回到数组的开头

发布时间:2020-12-15 23:38:47 所属栏目:百科 来源:网络整理
导读:我想创建一个类似如下的程序(c#btw): int[] arr = new int[9]//some code that puts values 1,or 2 in each array elementfor(int i = 0; i arr.Length; i++){ if (arr[i] == arr[i + 3]) { return true; }} 因此,对于数组中的每个值,我应用一个公式,该公式
我想创建一个类似如下的程序(c#btw):

int[] arr = new int[9]
//some code that puts values 1,or 2 in each array element
for(int i = 0; i < arr.Length; i++)
{
    if (arr[i] == arr[i + 3]) { return true; }
}

因此,对于数组中的每个值,我应用一个公式,该公式使用该值执行某些操作,并在其前面执行值3索引.当然,一旦i 3> 8,这会遇到超出范围的异常.

我想要做的是,如果所需的索引超出范围,则将索引值循环回到数组的开头.所以,在长度为9的数组中,最后一个索引是8,如果在给定的循环上i = 7,然后i 3 = 10,我希望我3’变成’,无论用什么方式,1,然后当i = 8,i 3 = 11,我希望我3成为2.

因此,被评估的索引对将类似于:

我,我3

0 3

1 4

2 5

3 6

4 7

5 8

6 0

7 1

8 2 2

我怎么能这样做?

谢谢你的帮助.

解决方法

像这样使用模运算符:

if (arr[i] == arr[(i + 3) % arr.Length]) { return true; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读