Здравствуйте. Делаю парсер для определенного набора сайтов медицинской тематики.
На каждый сайт отправляется поисковый запрос с частью названия лекарства, напр "парац".
От каждого сайта получаю в результатах поиска список объектов с ценами - List и разными артиклями.
В классе PricedDrug определил словарь (строка-сайт, цена). Все лекарства сравнимы по артиклю.
На выходе программы хочу получить тот же List, но с заполненными словарями цен и сайтов.
Что из арсенала LINQ лучше использовать в данном случае?
Имеем класс
public class PricedDrug: IComparable<PricedDrug>
{
public PricedDrug()
{
_prices = new Dictionary<PriceSource, float>();
}
protected string _article;
private Dictionary<PriceSource, float> _prices;
public int CompareTo(PricedDrug other)
{
return _article.CompareTo(other.article);
}
//далее геттеры, сеттеры
}
Далее делаем
foreach(site in sitelist)
{
List<PricedDrug> search_results = site.Seach(text);
}
И получаем такую коллекцию:
{
{ _prices: { "site1", 100}, _article:"1"}
{ _prices: { "site2", 110}, _article:"1"}
{ _prices: { "site3", 10}, _article:"2"}
{ _prices: { "site2", 12}, _article:"2"}
}
Как одним запросом получить итоговую коллекцию вида:
{ _prices: [ { "site1", 100},{ "site2", 110} ], _article:"1"}
{ _prices: [ { "site2", 10}, { "site3", 12} ]_article:"2"}
Т.е свернуть по артиклю?