在摆弄这个问题时,我无法正确理解语法。我只想删除后的UserId列表。
List<int> unselectedHockeyPlayers = allHockeyPlayers.Where(u => hockeyPlayers.Contains(u.UserId)).ToList());
答案 0 :(得分:4)
您错过了对UserId
的投射。
List<int> unselectedHockeyPlayers = allHockeyPlayers
.Where(u => !hockeyPlayers.Contains(u.UserId))
.Select(u => u.UserId)
.ToList()
或者更简洁,
List<int> unselectedHockeyPlayers = allHockeyPlayers
.Select(u => u.UserId)
.Except(hockeyPlayers)
.ToList();
答案 1 :(得分:0)
ToList()必须在最后。
List<int> unselectedHockeyPlayers = allHockeyPlayers.Where(u => hockeyPlayers.Contains(u.UserId))).Select(u => u.UserId).ToList();
编辑:您还必须使用.Select()子句专门选择所需的字段。否则,你会得到一个List