请帮助我了解 Console.WriteLine() 的工作原理

pls pls help me understand how Console.WriteLine() work

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Program
{
    class Program
    {
        static void Main(string[] args)
        {
            int num, reverse = 0;
            Console.WriteLine("Enter a Number : ");
            num = int.Parse(Console.ReadLine());
            while (num != 0)
            {
                reverse = reverse * 10;
                reverse = reverse + num % 10;
                num = num / 10;
            }
            Console.WriteLine("Reverse of Entered Number is : "+reverse);

        }
    }
}

我可以理解在循环迭代过程中反向累积的先前值的概念,但为什么 WriteLine() 也输出字符串 "Reverse of Entered Number is: " 3 次?我知道如果我在循环体中输入它会发生一些事情,但反向输出仍然是:

blah blah blah: 3 // I understand this
"          "  : 32 // I thought this was going to output 2
"          "  : 321 // while this outputs 1 

为什么“+ reverse”位是唯一执行的命令?而不是整行?

如果这是一个非常基本或愚蠢的问题,我很抱歉,我不得不为此创建一个 SO 帐户,这真的很困扰我。

让我们看一下程序:

开头的变量numreverse初始化为0

    int num, reverse = 0;

现在,将提示写入控制台,并使用 Console.ReadLine() 读取用户输入,将其作为整数解析为 num:

的变量
    Console.WriteLine("Enter a Number : ");
    num = int.Parse(Console.ReadLine());

对于此示例,我们假设用户输入了值 123

现在,只要 num 未设置为 0

,应用程序就会循环
    while (num != 0)
    {

在循环内部,reverse 的值乘以 10。第一次通过时,这仍然是 0,因为 0 * 100

        reverse = reverse * 10;

随后将 num 模数 10 添加到 reverse。基本上,这将 return 用户输入的任何数字的最后一位。因此,如果用户输入 123,这将在第一次循环时设置为 3

        reverse = reverse + num % 10;

现在,存储在 num 中的用户输入值除以 10。因为它是一个 int,小数值被截断了,所以 123 变成了 12

        num = num / 10;

我们现在重新开始循环,但是 num 设置为 12 并且 reverse 设置为 3

在循环的顶部,reverse 再次乘以 10,所以它的新值是 30

然后我们加上num的最后一位,即2,使得reverse设置为32

接着删除 num 的最后一位,使其成为 1

我们再次循环,因为 num 仍然不等于 0,这次 num 设置为 1 并且 reverse 设置到 32.

在循环的顶部,reverse 再次乘以 10,所以它的新值是 320

然后我们加上num的最后一位,即1,使得reverse设置为321

接着删除 num 的最后一位,使其成为 0

这一次,num等于0,所以循环结束。

    }

    Console.WriteLine("Reverse of Entered Number is : "+reverse);

程序通过打印字符串 "Reverse of Entered Number is : " 后跟 reverse.

的最终值来完成