title: C# - How to create a non-detectable infinite loop?
body: <p>This is just an "I am Curious" question.</p>
  
  <p>In C#-in-depth Jon Skeet says about lambda expressions:<br>
  <em>"if there is a nonvoid return type every code path has to return a compatible value."</em> (Page 233)</p>
  
  <p>The footnote then says:<br>
  <em>"Code paths throwing exceptions don't need to return a value, of course, and neither do detectable infinite loops."</em> (Page 233)</p>
  
  <p>I am wondering what constitutes a non-detectable infinite loop?</p>
  
  <p>Can this be done by only logic? or it is done by using external factors like a database or file system?</p>