特定の値の階乗数を調べるためのコード スニペットがあります。スニペットをデバッグして、コード フローを見つけようとしました。しかし、それでも私はその流れについて混乱しています。以下は私が持っているコードスニペットです。フローを理解するのを手伝ってくれる人はいますか?
static void Main()
{
   long value = factorial(5);
}
static long factorial(long num)
{
   if (num <= 1)
        return 1;
   else
        return num * factorial(num - 1);
}