title: c# recursion on method calls once itself after return
body: <pre><code>    private static string FindBookEanOrEanOnSplits(string[] splits, int index = 0)
      {
          string id = "";
          if (index &lt; 3)
          {
              id = Extractor.ExtractBookEanOrEan(splits[index].ToUpper());
  
              if (id == string.Empty)
                  FindBookEanOrEanOnSplits(splits, index + 1);
          }
  
          return id;
      }
  </code></pre>
  
  <p>for example, after on <strong>second call</strong>, the <strong>id</strong> is <strong>no longer empty</strong> then jumps out to return <strong>but calls for once(suddenly goes back) on this line FindBookEanOrEanOnSplits(splits, index + 1) that makes the id empty</strong> instead having not empty value</p>