C#新手疑问:所写嵌套循环是否按预期实现数组逐一比对逻辑?
你的循环逻辑完全符合需求
你写的嵌套循环完全是按照你描述的逻辑在运行,拆解一下执行过程:
- 外层
for循环逐个取出userBingo数组里的元素,比如先拿第一个元素1 - 内层
for循环会把这个元素和winningNumber数组里的每一个元素依次比对:先和6比,不匹配;再和7比,不匹配;碰到1的时候匹配了,temp加1,然后break跳出内层循环,不用再比对后面的8和9 - 接着外层循环取下一个元素2,重复上面的内层比对流程,直到
userBingo里所有元素都处理完
如果你的需求是只要第一个数组的元素在第二个数组里存在就计数一次,那当前代码完全没问题。要是之后需要统计第一个数组元素在第二个数组里的总出现次数(比如第二个数组里有两个1,要算两次),把内层循环里的break删掉就行。
你的代码如下:
for (int i = 0; i < userBingo.Length; i++) { for (int o = 0; o < winningNumber.Length; o++) { if ((userBingo[i] == winningNumber[o])) { temp++; break; } } }
内容的提问来源于stack exchange,提问作者Isakbanton
相关产品推荐
相关产品推荐

