Вы можете использовать Enum.Parse , чтобы делать то, что вы хотите, я думаю, что я не рекомендую это.
Чтобы использовать enum.Parse вам просто нужно сделать что-то вроде:
Enum.Parse(typeof(Evaluation), String.Format("S1_1_{0}",i));
Это действительно указывает на то, что вы используете какую-то хитрую методологию.Как я уже говорил в комментариях выше, вам будет лучше иметь структуру данных, позволяющую легко разделять разделы и их содержимое.Вы можете сделать это с помощью пользовательских классов или, может быть, просто с помощью словаря Списков целых чисел ...
Dictionary<int, List<int>> SectionContents;
и использовать его следующим образом:
foreach(int id in SectionContents[sectionNumber])
{
VoteCount += string.IsNullOrEmpty(this.GetEvaluationValue(FormID, id)) ? 0 : 1;
}
(я не ручаюсь зачто в foreach, я просто демонстрирую, как может работать словарь из списка целых).
Создание словаря достаточно просто и не требует перечислений.И если это база данных, то ее можно легко сгенерировать с помощью запроса к базе данных, чтобы получить идентификаторы и разделы, в которых они находятся, а затем создать структуру данных.