I have read that when in your application you do a lot of string comparison and using ToLower method, this method is quite costly. I was wondering of anyone could explain to
See also writing culture-safe managed code for a very good reason why not to use ToLower().
In particular, see the section on the Turkish "I" - it's caused no end of problems in the past where I work...
Calling "I".ToLower() won't return "i" if the current culture is Turkish or Azerbaijani. Doing a direct comparison on that will cause problems.