|
|
1
34
101 LINQ Samples ,即选择-匿名类型1
|
|
|
2
32
下面将返回一个IEnumerable<团队>:
或者,使用LINQ的流畅风格:
平面化和平面地图这一要求通常被称为“扁平化”。也就是说,采取<<物品收藏>>并将其转换为<收集物品>。
可以将映射和展平分开:
其他方法迭代器块迭代器块也可以实现同样的效果,但我怀疑这很少是最好的方法:
联盟联盟也是一种选择,但有可能产生与上述不同的结果:
正如迈克·鲍威尔所描述的:
根据夹具的来源/实现方式,可能值得考虑“缓存”绘制的夹具,以避免重复枚举夹具。
或者使用流畅的风格:
修改Fixture类可以考虑将“ParticipatingTeams”添加到Fixture类中,以获得:
但正如@MattDeKrey所指出的那样,这需要合同变更。 代码示例代码示例可在 Repl.it |
|
|
3
23
我认为您正在寻找以下联盟方法:
|
|
|
4
14
我自己尝试了一下,得出了与“这取决于”相同的版本。 使用查询理解语法:
使用带有扩展方法的lambda:
编辑:
我不知道一支球队是否可能在你的数据库中玩过不止一次,但如果可能的话,那么你可能想利用
或者:
|
|
|
5
6
或者,您可以定义一个类型来保存所有这些数据:
|
|
|
6
5
编辑: 对不起,误解了你最初的问题,所以重写了答案。 您可以使用“SelectMany”运算符来执行您想要的操作:
这将返回一个已绘制的球队的扁平列表。 |
|
|
7
1
我遇到了这个问题,找不到我想要的东西,所以我写了一个小的扩展方法来做我想做的事情。
根据问题中的问题,你可以做这样的事情
有趣的是,intellisense对此并不满意,你在下拉列表的顶部没有得到λ表达式,但是在'=>“它很快乐。但最重要的是编译器很高兴。 |