From reviewing significant amounts of code over the last few years I have concluded that most people don't use Debug.Assert very much, if at all. I find this surprising because I use Debug.Assert a lot. Used prudently it can reduce bugs in code, make it more self documenting, and as an additional benefit you can even improve performance! When writing methods people frequently make assumptions,...