为了账号安全,请及时绑定邮箱和手机立即绑定

foreach的错位

static void Main(string[] args)

        {

            int[] num = new int[] { 3, 34, 43, 2, 11, 19, 30, 55, 20 };

            bool hasit = false;

            for (int i = 0; i < num.Length; ++i)

            {

                if (num[i] % 7 == 0)

                {

                    hasit = true;

                    break;

                }

            }

            if (hasit)

            {

                Console.Write("有七的倍数");

            }

            else

            {

                Console.Write("没有七的倍数");

            }

        }

    }

如图代码,把for语句换成foreach,   if (num[i] % 7 == 0)这一句就会报错,请问为什么呀

正在回答

2 回答

换 foreach,要把break调到if外面,即:

foreach(int i in num)

            {

                if (num[i] % 7 == 0)

                {

                    hasit = true;

                    

                }

                 break;  

            }


1 回复 有任何疑惑可以回复我~

foreach 遍历所有元素,不能用索引了就,直接用定义的变量

foreach (int i in num) {
    if (i % 7 == 0) {
    }
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C#开发轻松入门
  • 参与学习       251654    人
  • 解答问题       1448    个

本门课程是C#语言的入门教程,将带你轻松入门.NET开发

进入课程

foreach的错位

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信