试图通过调试弄清楚switch语句是如何工作的,但无法弄清楚执行顺序

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

我试图找出 if 语句和 switch 语句之间的区别。我写了这段代码:

`int number = 3;
switch (number)
{
    case 1:
       Console.WriteLine("1");
       break;
    case 3:
       Console.WriteLine("FOUND");
       break;
    default:
       Console.WriteLine("def");
       break;
}`

我正在尝试通过逐行使用调试器(F11(Visual Studio))来解决这个问题。我不明白的是,这是否是一个 if 语句,如下所示:

int number = 3; if (number == 1) { Console.WriteLine("1"); } else if (number == 3) { Console.WriteLine("333333"); } else { Console.WriteLine("def"); }

它将逐行执行,并检查每个 if 块,如果为 false,则跳转到下一个条件语句。但是,对于 switch case,我无法理解它在何处/何时或如何检查 switch 语句开头的哪个 switch case 相关。情况 1,3 和默认值是否同时检查?一切都是逐行执行的,这怎么可能?

尽管尝试使用 if 语句和 switch 语句采用不同的方法,但仍然无法理解如何选择 switch case。

c# debugging switch-statement
1个回答
0
投票

甚至在运行 javascript 之前,js 就会浏览代码并创建一个全局执行控制块,这就是它分配内存和代码的地方。在您的情况下,它将内存分配给变量和函数,即这里的 switch case 甚至在运行实际代码之前就被分配了值,这就是 switch case 在开始时执行的原因。

© www.soinside.com 2019 - 2024. All rights reserved.