Если вы собираетесь подумать о том, как List<T>.Enumerator
является «нечетным» для повышения производительности, сначала подумайте об этом: это изменяемая структура . Не стесняйтесь отшатываться с ужасом; Я знаю, что знаю.
В конечном счете, я бы не стал подражать оптимизациям из BCL, не сравнив и не проанализировав, какую разницу они имеют в вашем конкретном приложении. Это вполне может подойти для BCL, но не для вас; не забывайте, что BCL проходит весь сервис, аналогичный NGEN, при установке. Единственный способ узнать, что подходит для вашего приложения, - это измерить его.
Вы говорите, что хотите попробовать то же самое для своих узких мест в производительности: это предполагает, что вы уже знаете узкие места, что предполагает, что у вас есть какое-то измерение на месте. Итак, попробуйте эту оптимизацию и измерите ее, а затем посмотрите, стоит ли выигрыш в производительности для боли читаемости / обслуживания, которое сопровождает ее.
Нет ничего сложного в том, чтобы что-то попробовать и измерить, а затем принимать решения на основе этих доказательств.