Debug.Fail and Debug.Assert
I use Debug.Fail()
typically in switch/default:
statements where default:
should never occur (in addition to throwing an exception or whatever other error handling)
There's just no difference. Debug.Assert() calls Fail() when the condition is false. So there's no difference either between Assert() and an if-statement that calls Fail().
I'd suggest you find a better web site.