一分钟学会从双层嵌套循环中退出内部循环

在C#中,如果你想从一个双层嵌套循环中退出内部循环,你可以使用几种不同的方法。下面是一些常见的方法:

方法1:使用 break 语句

使用 break 语句可以让你退出当前所在的循环。如果你想只退出内部循环,可以在内部循环中使用 break

Csharp

1for (int i = 0; i < 5; i++)
2{
3    for (int j = 0; j < 5; j++)
4    {
5        if (j == 2)
6        {
7            break; // 退出内部循环
8        }
9        Console.WriteLine($"i={i}, j={j}");
10    }
11}

方法2:使用 continue 语句

如果你想跳过内部循环的剩余部分并继续下一次迭代,可以使用 continue 语句。

1for (int i = 0; i < 5; i++)
2{
3    for (int j = 0; j < 5; j++)
4    {
5        if (j == 2)
6        {
7            continue; // 跳过内部循环的剩余部分
8        }
9        Console.WriteLine($"i={i}, j={j}");
10    }
11}

方法3:使用标签(label

如果你想从内部循环直接跳到外层循环,可以使用标签来标记外层循环的开始,并使用 goto 语句来跳转。

1outerLoop:
2for (int i = 0; i < 5; i++)
3{
4    for (int j = 0; j < 5; j++)
5    {
6        if (j == 2)
7        {
8            goto outerLoop; // 跳到外层循环的开始
9        }
10        Console.WriteLine($"i={i}, j={j}");
11    }
12}

方法4:使用 return 语句

如果你在一个方法内部使用循环,并且想要完全退出循环和方法,可以使用 return 语句。

1void DoSomething()
2{
3    for (int i = 0; i < 5; i++)
4    {
5        for (int j = 0; j < 5; j++)
6        {
7            if (j == 2)
8            {
9                return; // 退出整个方法
10            }
11            Console.WriteLine($"i={i}, j={j}");
12        }
13    }
14}
15
16// 调用方法
17DoSomething();

方法5:使用 throw 语句

如果想立即终止程序执行,可以抛出一个异常。

1void DoSomething()
2{
3    try
4    {
5        for (int i = 0; i < 5; i++)
6        {
7            for (int j = 0; j < 5; j++)
8            {
9                if (j == 2)
10                {
11                    throw new Exception("Stop the loop!"); // 抛出异常
12                }
13                Console.WriteLine($"i={i}, j={j}");
14            }
15        }
16    }
17    catch (Exception ex)
18    {
19        Console.WriteLine(ex.Message);
20    }
21}
22
23// 调用方法
24DoSomething();

方法6:使用 break 语句配合 while 循环

如果需要在内层循环中完全退出外层循环,可以使用一个标志变量来控制外层循环的 while 语句。

1bool continueOuterLoop = true;
2
3while (continueOuterLoop)
4{
5    for (int j = 0; j < 5; j++)
6    {
7        if (j == 2)
8        {
9            continueOuterLoop = false; // 设置标志为 false
10            break; // 退出内层循环
11        }
12        Console.WriteLine($"j={j}");
13    }
14}
15
16Console.WriteLine("外层循环已退出。");

方法7:使用 foreach 循环

如果你的内部循环是在遍历一个集合,可以使用 foreach 循环来替代 for 循环,但这通常不适用于需要提前退出的情况。

示例代码

下面是一个完整的示例代码,展示了如何从内部循环中退出。

1using System;
2
3class Program
4{
5    static void Main(string[] args)
6    {
7        ExitInnerLoopExample();
8    }
9
10    static void ExitInnerLoopExample()
11    {
12        for (int i = 0; i < 5; i++)
13        {
14            Console.WriteLine($"Starting inner loop for i={i}...");
15
16            for (int j = 0; j < 5; j++)
17            {
18                if (j == 2)
19                {
20                    Console.WriteLine("Exiting inner loop...");
21                    break; // 退出内部循环
22                }
23                Console.WriteLine($"i={i}, j={j}");
24            }
25
26            Console.WriteLine("Inner loop finished.");
27        }
28
29        Console.WriteLine("All loops completed.");
30    }
31}

这个示例展示了如何使用 break 语句来从内部循环中退出。你可以根据具体的需求选择适合的方法。

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值