Оптимизация это всегда интересно, но о ней имеет смысл говорить только зная конкретный контекст в котором исполняется оптимизируемый код. Автор пишет что в старом проекте валидация полей делается через проброс эксепшена, но разве это плохо? Если это валидация полей формы то это нормульно и получается читабельный код. Если это валидация класса и крутится в цикле на нагруженном сервере и постоянно кидает исключения чтобы выше по стеку их поймать то это беда...
И еще, чем автору не угодил стандартный String.Equals, что понадобились такие извращения с приведением к верхнему регистру с аллокацией новых объектов?
Оптимизация это всегда интересно, но о ней имеет смысл говорить только зная конкретный контекст в котором исполняется оптимизируемый код. Автор пишет что в старом проекте валидация полей делается через проброс эксепшена, но разве это плохо? Если это валидация полей формы то это нормульно и получается читабельный код. Если это валидация класса и крутится в цикле на нагруженном сервере и постоянно кидает исключения чтобы выше по стеку их поймать то это беда...
И еще, чем автору не угодил стандартный String.Equals, что понадобились такие извращения с приведением к верхнему регистру с аллокацией новых объектов?