C#循环数组索引值从索引中返回到Array的开头
我想创建一个如下所示的程序(c#btw):
int[] arr = new int[9] //some code that puts values 1, 0, 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,这会遇到超出范围的exception。
我想要做的是,如果所需的索引超出范围,则将索引值循环回到数组的开头。 所以,在长度为9的数组中,最后一个索引是8,如果在给定的循环上i = 7,而i + 3则= 10,我希望i + 3’变成’,以任何方式,1,和那么当i = 8,而i + 3 = 11时,我希望i + 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; }
您可以在if
语句中尝试以下表达式。
arr[i] == arr[(i + 3) % arr.Length];
%运营商
将一个表达式的值除以另一个表达式的值,并返回余数。
上述就是C#学习教程:C#循环数组索引值从索引中返回到Array的开头分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1014853.html