У меня есть небольшое приложение WinForm, которое является основным скребком для обоев. Он имеет возможность для пользователя «занести в черный список» обои, чтобы он никогда не использовался снова. Когда черный список, обои URL, название и ID добавляются в файл XML, которая находится в следующем формате:C# - Проверка наличия значения в списке, созданном из файла XML
<?xml version="1.0" encoding="utf-8"?>
<!--This file stores a list of any wallpapers you blacklist.-->
<Blacklisted>
<Wallpaper>
<URL>http://i.imgur.com/OU3v9H6.jpg</URL>
<Title>Gran Via Madrid Wallpaper [1920x1080]</Title>
<ThreadID>54fsi7</ThreadID>
</Wallpaper>
<Wallpaper>
<URL>http://i.imgur.com/TLXJmGB.jpg</URL>
<Title>The Golden wallpaper HD [1920*1080]</Title>
<ThreadID>55366b</ThreadID>
</Wallpaper>
</Blacklisted>
Когда новые обои приобретаются, есть быстрая проверка, чтобы увидеть, если обои URL находится в занесенный в черный список файл XML. Если это так, то оно не используется и найдены новые обои. Мой код для проверки, что обои занесены в черный список, на самом деле не вызывает никаких ошибок, однако остальная часть кода после проверки не выполняется, поэтому я считаю, что что-то не так с моим процессом проверки, и код просто «застревает». Вот мой код для проверки файла XML:
string url = "http://example.url/image.jpg"
XDocument xml = XDocument.Load("Blacklisted.xml");
var list = xml.Root.Elements("URL").Select(element => element.Value).ToList();
if(list.Contains(url))
{
updateStatus("Wallpaper is blacklisted.");
return;
}
Вы использовали отладчик, чтобы узнать, что произойдет после 'if (list.Contains (url))'? это проблема, возникающая при вводе условного блока или пропуске? что вы подразумеваете под «кодом, который просто« застревает »? – slawekwin