foreach (Tuple<int, string, Guid> s in services)
{
foreach (BEPartnership p in partnership)
{
p.Partner.Services = new List<Tuple<int, string>>();
if (s.Item3 == p.Partner.Id)
p.Partner.Services.Add(new Tuple<int, string>(s.Item1, s.Item2));
}
}
转换嵌套的foreach对这样的事情
services.SelectMany(
s=>partnership.Select(
p=>new {partnerId = p.Partner.Id, servicePartnerId = s.Item3})
.Where(x=>x.partnerId == x.servicePartnerId)
.ToList()
.ForEach(//....))
这样有什么不好? – gideon 2011-03-30 11:45:11
值得注意的是,仅仅因为使用LINQ可以表达的东西并不意味着它是必要的。首先考虑可读性。 – 2011-03-30 11:53:51