Формирование поисковой строки 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д