#c#
#c#
Вопрос:
Я создаю генератор плейлистов Spotify, очищая страницу исполнителей на веб-сайте фестиваля. Я могу вернуть все имена исполнителей, но некоторые из них не связаны с поисковым запросом Spotify, например:
Festival Artist Name: "Slash and..."
Spotify Search Term: "Slash"
Я создал объект с именем EdgeCases
:
public int EdgeCasesID { get; set; }
public int FestivalID { get; set; }
public string ComparableString { get; set; }
public string SearchTerm { get; set; }
public bool Skip { get; set; }
Он представляет все данные, необходимые для замены / пропуска / поиска этого исполнителя, который на самом деле не соответствует поисковому запросу Spotify.
Код, который у меня есть в настоящее время, сравнивает все крайние случаи со всеми исполнителями, извлеченными с веб-страницы; Я просто хочу помочь с тем, как сократить код сравнения
foreach (string artist in artistNames)
{
bool skipArtist = false;
SearchItem searchItem = null;
// Check if any of those artists exist in the UnfoundArtists database
// More or less check if the name is different on Spotify or if they are even on Spotify
foreach (EdgeCase unfoundArtist in EdgeCases)
{
// If the download artist page contains the a specific name
// e.g if 'slash amp; the conspirators' contains 'slash'
if (artist.Trim().Contains(unfoundArtist.ComparableString))
{
// If so, check if the artist is on Spotify
if (unfoundArtist.ToSearch)
{
// search using SearchTerm
}
// This case is if the artist is on the page but not on Spotify
skipArtist = true;
}
else
{
// Search the artist if there is no edge case - different Spotify
// name/on Spotify at all etc
searchItem = _api.SearchItems(artist.Trim(), SearchType.Artist, limit: 1);
}
}
}
Комментарии:
1. нам нужно выйти из внутреннего цикла, если условие if возвращает true, верно?
2. Найдите исполнителя. Trim() из внутреннего цикла. Вы собираетесь вычислять это каждый раз, когда выполняется внутренний цикл, и значение никогда не изменится в этом цикле.
3. Честно говоря, это звучит как более подходящее для некоторых шаблонов регулярных выражений . Создайте несколько шаблонов reg ex, чтобы захватить все ваши крайние случаи и поместить их в правильный исполнитель.