• Номера домов в КЛАДР, C# и T-SQL

    @antonlustin
    так подойдет?
    // Передаем в качестве 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;
            }
    
    Ответ написан
    6 комментариев