так подойдет?
// Передаем в качестве Value - строку c перечнем зданий из таблицы KA_DOMA
private List<string> HousDecode(string value)
{
List<string> tempCollection = new List<string>();
// Парс 'шифровки' домов для улицы
string[] tmp1 = value.Split(',');
foreach (string txt in tmp1)
{
if (txt.ToUpper().IndexOf('Ч') != -1 || txt.ToUpper().IndexOf('Н') != -1)
{
string tmptxt = txt.Replace(")", "");
string[] v = (tmptxt.Split('(')[1]).Split('-');
int v1 = Convert.ToInt32(v[0]);
int v2 = Convert.ToInt32(v[1]);
for (int i = v1; i <= v2; i = i + 2)
{
tempCollection.Add(i.ToString().Trim());
}
continue;
}
if (txt.ToUpper().IndexOf('-') != -1)
{
string[] v = txt.Split('-');
int v1 = Convert.ToInt32(v[0]);
int v2 = Convert.ToInt32(v[1]);
for (int i = v1; i <= v2; i++)
{
tempCollection.Add(i.ToString().Trim());
}
continue;
}
tempCollection.Add(txt.Trim());
}
return tempCollection;
}