|
|
1
5
简单的答案是你不应该。 有一个 黑的 让你做到这一点的技巧:
但如果按照预期的方式使用它,确实更为合理:
如果由于某种原因确实不能使用这种纯函数式样式,或者您发现必须在多个位置实例化这样的列表,那么您可能应该声明一个普通类,而不是使用匿名类型。请记住,匿名类型是编译到类中的,因此匿名类型没有性能优势,如果您不得不使用本文顶部的hacky技巧,那么即使是可读性/可维护性优势也是值得怀疑的。
有些人建议使用
|
|
2
1
(Timwi-我知道这是你的解决方案的“linqified”版本,但我想我会把它贴出来,因为我觉得这种风格很容易阅读和理解。) |
|
|
3
0
或者,你可以在C#4.0中使用:
|
|
|
4
0
既然你把X和Y放在同一个列表中,它们必须有一个共同的基类/接口。什么?他们之间没有关系?那你为什么要把他们放在同一张单子上!这不是个好主意。
|