Формирование поисковой строки avito (Диапазон лет и т.п.) Формула - C#

Узнай цену своей работы

Формулировка задачи:

Диапазон идет от 0 до пустой строки "". То есть допустим 1960 и раньше год это 0, 2017 и выше это пустая строка, между ними буква b 0b. будет значить, что поиск нужно вести от начала времен и до сегодняшнего дня. Дальше интереснее, зависимости не нашел, поэтому и спрашиваю, может кто-нибудь увидит ее. У каждой функции в поиске авито, будь то год, пробег и т.п., есть свой префикс, у года он 188_ , то есть чтобы найти допустим года с 1999 по 2004, нужно послать авито вот такие агрументы 188_892b897., точка это как бы переход на следующую функцию, и не обязательна, если следующей функции нет. Вот что у меня получилось, делал с помощью switch Помогите найти закономерность в формировании запроса, а то так слишком громоздко получается.. ((
 switch (yMin)
                        {
                            case "1970":
                            case "1971":
                            case "1972":
                            case "1973":
                            case "1974":
                            case "1975":
                            case "1976":
                            case "1977":
                            case "1978":
                            case "1979":
                                {
                                    yearMin = "782";
                                    break;
                                }
                            case "1980":
                            case "1981":
                            case "1982":
                            case "1983":
                            case "1984":
 
                                {
                                    yearMin = "873";
                                    break;
                                }
                            case "1985":
                            case "1986":
                            case "1987":
                            case "1988":
                            case "1989":
                                {
                                    yearMin = "878";
                                    break;
                                }
                            case "1990":
                                {
                                    yearMin = "883";
                                    break;
                                }
                            case "1991":
                                {
                                    yearMin = "884";
                                    break;
                                }
                            case "1992":
                                {
                                    yearMin = "885";
                                    break;
                                }
                            case "1993":
                                {
                                    yearMin = "886";
                                    break;
                                }
                            case "1994":
                                {
                                    yearMin = "887";
                                    break;
                                }
                            case "1995":
                                {
                                    yearMin = "888";
                                    break;
                                }
                            case "1996":
                                {
                                    yearMin = "889";
                                    break;
                                }
                            case "1997":
                                {
                                    yearMin = "890";
                                    break;
                                }
                            case "1998":
                                {
                                    yearMin = "891";
                                    break;
                                }
                            case "1999":
                                {
                                    yearMin = "892";
                                    break;
                                }
                            case "2000":
                                {
                                    yearMin = "893";
                                    break;
                                }
                            case "2001":
                                {
                                    yearMin = "894";
                                    break;
                                }
                            case "2002":
                                {
                                    yearMin = "895";
                                    break;
                                }
                            case "2003":
                                {
                                    yearMin = "896";
                                    break;
                                }
                            case "2004":
                                {
                                    yearMin = "897";
                                    break;
                                }
                            case "2005":
                                {
                                    yearMin = "898";
                                    break;
                                }
                            case "2006":
                                {
                                    yearMin = "899";
                                    break;
                                }
                            case "2007":
                                {
                                    yearMin = "900";
                                    break;
                                }
                            case "2008":
                                {
                                    yearMin = "901";
                                    break;
                                }
                            case "2009":
                                {
                                    yearMin = "902";
                                    break;
                                }
                            case "2010":
                                {
                                    yearMin = "2844";
                                    break;
                                }
                            case "2011":
                                {
                                    yearMin = "2845";
                                    break;
                                }
                            case "2012":
                                {
                                    yearMin = "6045";
                                    break;
                                }
                            case "2013":
                                {
                                    yearMin = "8581";
                                    break;
                                }
                            case "2014":
                                {
                                    yearMin = "11017";
                                    break;
                                }
                            case "2015":
                                {
                                    yearMin = "13978";
                                    break;
                                }
                            case "2016":
                                {
                                    yearMin = "16381";
                                    break;
                                }
                            case "2017":
                                {
                                    yearMin = "19775";
                                    break;
                                }
                             default:
                                break;
                        }
https://www.avito.ru/petrozavodsk/avtomobili?f=188_892b897 Поисковая строка

Решение задачи: «Формирование поисковой строки avito (Диапазон лет и т.п.) Формула»

textual
Листинг программы
        private static string GetYearMin2(int year)
        {
            if (year >= 1970 && year <= 1979)
                return "782";
            else if (year >= 1980 && year <= 1984)
                return "873";
            else if (year >= 1985 && year <= 1989)
                return "878";
            else if (year >= 1990 && year <= 2009)
                return (year - 1107).ToString();
            else if (year >= 2010 && year <= 2017)
            {
                return (new int[] { 2844, 2845, 6045, 8581, 11017, 13978, 16381, 19775 })[year - 2010].ToString();
            }
            else return String.Empty;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы