没有看到你的代码的其余部分是有点棘手。我只为自己尝试过(见下面的代码),我没有遇到任何问题。
这里是我的代码:
static void Main(string[] args)
{
List<Team> list = new List<Team>
{
new Team { Name = "1", Supporters = new List<Supporter>
{
new Supporter { Name = "Bob", Tokens = 4 },
new Supporter { Name = "Sarah", Tokens = 3 },
new Supporter { Name = "Jane", Tokens = 6 },
} },
new Team { Name = "2", Supporters = new List<Supporter>
{
new Supporter { Name = "Brian", Tokens = 4 },
new Supporter { Name = "Ellie", Tokens = 19 },
new Supporter { Name = "Steve", Tokens = 12 },
} },
new Team { Name = "3", Supporters = new List<Supporter>
{
new Supporter { Name = "John", Tokens = 7 },
new Supporter { Name = "Vern", Tokens = 11 },
new Supporter { Name = "Peter", Tokens = 18 },
} },
};
var results = list.OrderByDescending(x => x.Supporters.Sum(y => y.Tokens));
}
}
class Team
{
public string Name { get; set; }
public List<Supporter> Supporters { get; set; }
}
class Supporter
{
public string Name { get; set; }
public int Tokens { get; set; }
}
是什么类型`Tokens`? – 2011-12-16 08:40:15
也许它应该是`.Sum(y => y.Tokens.Number)`或其他任何可以计数的东西 – 2011-12-16 08:40:22