如果计数器尚未到达索引的末尾,则防止循环以打印出重复的内容

问题描述 投票:0回答:1

抱歉,从一开始这可能是一个令人困惑的问题。我了解for循环在每次迭代中打印出内容的方式。但是,只有在计数器达到索引的最后一个时,才有办法在满足条件的情况下打印出内容吗?

当与if条件结合使用时,我只是束手无策,我可能会考虑一个简单的任务,并记错方法。

起初我有这样的想法。当到达索引的最后一个时,哪个当然并不总是正确的:(numbers[i] == randomNums[j] && i+1 == numbers.Length)

有什么想法吗?

使用的for循环:

        for (int i = 0; i < numbers.Length; i++)
        {
            for (int j = 0; j < randomNums.Length; j++)
            {
                if (numbers[i] == randomNums[j]) 
                {
                        Console.WriteLine("#######################################");
                        Console.WriteLine("############## B I N G O ##############");
                        Console.WriteLine("#######################################");
                }
                else
                {
                    Console.WriteLine("Better luck next time!");
                }
            }
        }
c#
1个回答
0
投票

您可能正在寻找类似的东西:

    private static void CheckBingo(int[] numbers, int[] randomNums)
    {
        var intersect = numbers.Intersect(randomNums).Count();
        var mess = intersect > 0 ? "BINGO" : "Better luck next time!";            

        Console.WriteLine(mess);
    }

OR

    private static void CheckBingo(int[] numbers, int[] randomNums)
    {
        var hasMatch = numbers.Any(x => randomNums.Contains(x));
        var mess = hasMatch? "BINGO" : "Better luck next time!";            
        Console.WriteLine(mess);
    }

您将需要添加参考:

using System.Linq;
© www.soinside.com 2019 - 2024. All rights reserved.