O'Reilly logo

Functional C# by Wisnu Anggoro

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Using tail recursion

In the GetFactorial() method we discussed previously, traditional recursion is used to calculate the factorial number. This recursion model performs the recursive call first and returns the value, and then it calculates the result. Using this recursion model, we won't get the result until the recursive call is finished.

Besides the traditional recursion model, we have another recursion called tail recursion. The tail call becomes the last thing in the function and it doesn't do anything after the recursion at all. Let's look at the following code, which we can find in the TailRecursion.csproj project:

public partial class Program { public static void TailCall(int iTotalRecursion) { Console.WriteLine("Value: " + iTotalRecursion); ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required