У меня есть код, который перебирает список списков.
public static AffiliateList FromDate(string date)
{
Console.WriteLine("calling affiliates by date for " + date);
AffiliateList al;
try
{
al = new AffiliateList(DirectTrackXmlUtility.AffilaitesByDate(date));
}
catch (Exception)
{
return null;
}
return al;
}
public override IEnumerator<AffiliateItem> GetEnumerator()
{
return (from ru in Inner.resourceURL
select ru.location
into date select FromDate(date)
into listForDate from ru2 in listForDate.Inner.resourceURL
select AffiliateItem.From(ru2)).
GetEnumerator();
}
Вопрос: Как мне изменить код для обработки FromDate, возвращающего ноль?
Примечание: я бы никогда не подумалкак написать этот запрос, но re-sharper сделал это для меня из моих вложенных циклов foreach, и теперь мне интересно посмотреть, смогу ли я заставить его работать ...
Обновление: вот последний linqзапрос, вместе с оригинальным не-linq образом закомментирован.
return (from ru in Inner.resourceURL
select ru.location
into date select FromDate(date)
into listForDate where listForDate != null from ru2 in listForDate.Inner.resourceURL
select AffiliateItem.From(ru2)).GetEnumerator();
//foreach (resourceListResourceURL ru in Inner.resourceURL)
//{
// string date = ru.location;
// AffiliateList listForDate = FromDate(date);
// if (listForDate != null)
// {
// foreach (var ru2 in listForDate.Inner.resourceURL)
// {
// yield return AffiliateItem.From(ru2);
// }
// }
//}