public async Task GetArtistAlbums(string artistName = null) { string chosenArtist; chosenArtist = artistName; if (artistName == null) { if (artistList == null) { return; } if (artistList.Count == 0) { return; } Console.WriteLine("User input artist: " + userInputArtist); if (userInputArtist == null || userInputArtist == "") { curArtistNum++; if (curArtistNum > artistList.Count - 1) { curArtistNum = 0; } chosenArtist = artistList[curArtistNum]; } else { chosenArtist = userInputArtist; } } Console.WriteLine("Getting albums for " + chosenArtist); await Spotify.GetAlbumsFromArtist(chosenArtist); //for(int i=0; i< Spotify.artistAlbums.Count; i++) //{ // Console.WriteLine(Spotify.artistAlbums.Keys[i]) //} foreach (string artist in Spotify.artistAlbums.Keys) { Console.WriteLine("Artist: " + artist); for (int i = 0; i < Spotify.artistAlbums[artist].Count; i++) { Console.WriteLine("Album " + i + ") " + Spotify.artistAlbums[artist][i]); } } if (Spotify.artistAlbums.ContainsKey(chosenArtist)) { string foundCountry = await Task.Run(() => MusicBrainz.GetArtistCountryFromAlbums(chosenArtist, Spotify.artistAlbums[chosenArtist])); if (foundCountry != null) { if (artistLocationsAfterExtensiveSearch == null) { artistLocationsAfterExtensiveSearch = new Dictionary <string, string>(); } artistLocationsAfterExtensiveSearch.Add(chosenArtist, foundCountry); } } }