вторник, 8 февраля 2011 г.

Волшебный парсинг строки в число.

Однажды появилась задача, пропарсить XML. Задача в общем-то простая и в легкую решаемая с помощью .Net. Но есть там небольшая заморочечка, значения некоторых атрибутов были в виде строки, а надо было загрузить их в виде числа. Все вроде просто пока, но строки эти были вида: res_in, res_out, res_inout и т.п. Быстрое и в лоб решение это либо использование switch или кучки if. Но учитывая, что подобных атрибутов было масса, код выглядел бы ужасно, а хотелось небольшого элегантного решения, и оно нашлось.

//Создаем Enum
enum AttributeValuesEnum: int{
res_in = 19,
res_out = 15,
res_inout = 35
}

// Парсим
int ResTypeID = (int)(Enum.Parse( typeof(AttributeValuesEnum), atribute_string_value);

Минусов решения полно, зато быстро кодится и расширяется. Возможно кому-то и пригодится.

1 комментарий: