title: C#: Declare that a function will never return null?
body: <p><strong>Background:</strong>
  There is this developer principle "Should my function return null or throw an exception if the requested item does not exist?" that I wouldn't like to discuss here. I decided to throw an exception for all cases that have to return a value and this value only wouldn't exist in cases of an (programmatically or logically) invalid request.</p>
  
  <p><strong>And finally my question:</strong>
  Can I mark a function so that the compiler knows that it will never return null and warn anybody who checks if the return value is null?</p>